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>

 

上一篇:Spring的MVC入门与数据绑定


下一篇:【SpringMVC笔记整理八】表单标签库