• SpringMVC入门程序:helloWorld


    1、导入jar包:spring-webmvc

    <!-- springmvc的依赖 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.3.RELEASE</version>
    </dependency>

    2、导入配置文件

    1. Spring的配置文件
    2. springMVC的配置文件       与spirng的配置文件一模一样
    3. Mybatis配置文件
    4. Sql映射文件
    5. Log4j的配置文件
    6. Db的配置文件
    7. web.xml

    3、配置

    在web.xml中配置前端控制器

        <!-- 配置前端控制器 -->
        <servlet>
            <servlet-name>springMVC</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!--如果不配置contextConfigLocation,默认查找springmvc的配置文件为:WEB-INF/servlet名字-servlet.xml 
                比如我们这查找的就是:WEB-INF/springMVC-servlet.xml -->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springMVC</servlet-name>
            <!-- url-pattern有三种配置方式: 1. *.action, springMVC的前端控制器只处理以action结尾的url请求 
                2. / 所有请求都由springMVC的前端控制器处理,但是对于静态资源我们不然让前端控制器处理,所以我们需要进行配置, 
        使用这种配置方式,可以实现restful风格 3. /* 错误
    --> <url-pattern>*.action</url-pattern> </servlet-mapping>

     在springMVC的配置文件中配置 处理器映射器,  处理器适配器, 视图解析器

      <!-- 配置处理器映射器 : 以bean的name作为url -->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
        
        <!-- 配置处理器适配器 :  处理某一类型的处理器,   处理的实现Controller接口的处理器
            @Override
            public boolean supports(Object handler) {
                return (handler instanceof Controller);
            }
        -->
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
        <!-- 配置视图解析器 
            根据逻辑视图  list,找物理视图
              视图类型: jsp
        -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- 视图的类 : 视图支持 jstl-->
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
            <!-- 前缀名 -->
            <property name="prefix" value="/jsp/"/>
            <!-- 后缀名 
                物理视图:  前缀 + 逻辑视图名 + 后缀
            -->
            <property name="suffix" value=".jsp"/>
        </bean>
        
        <!-- 将helloController处理器交给springmvc管理 -->
         <bean id="/hello.action" class="springMVCDemo.web.HelloController"/>
    </beans>

    编写处理器

    //需要实现Controller 接口
    public class HelloController implements Controller{
        @Override
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            //获取请求参数
            String name = request.getParameter("name");
            //创建一个ModelAndView对象
            ModelAndView model = new ModelAndView();
            //添加数据,存到request域中,默认转发
            model.addObject("hello", "hello"+name);
            ////添加逻辑视图名
            model.setViewName("hello");//  项目名/jsp/hello.jsp
            //返回对象
            return model;
        }

    编写页面

      在webapp下新建一个文件夹为jsp

    <body>
    <!-- 使用request域获取数据 -->
        ${hello}
    </body>
  • 相关阅读:
    petshop4.0 详解之三(PetShop数据访问层之消息处理)
    MemberShip的使用
    PetShop 详解之一 系统架构设计
    PetShop4,错误提示:没有为 SQL 缓存通知启用数据库"MyCard"
    PetShop4,错误提示:System.Web.Security.SqlMembershipProvider”要求一个与架构版本“1”兼容的数据
    【Linux从零开始】:1.文件与目录的管理和配置(1)
    【笔记】在.NET中使用强类型有以下优点:
    【好文收藏】:Linq to DataSet
    【好文收藏】泛型与非泛型的比较(百度文库)
    HDOJ1102 Constructing Roads[Prim()]
  • 原文地址:https://www.cnblogs.com/64Byte/p/13137496.html
Copyright © 2020-2023  润新知