续之前的Spring配置
因为我们一个Servlet只能处理一种请求,所以在处理很多请求的时候很麻烦,这时候我们引人SpringMVC
这是从网上找到的一张图片,可以看出只有一个Servlet,其中有三个重要部分:处理器映射器,处理器适配器,视图解析器。这三个部分需要我们在配置文件上配置
首先创建一个controller包,放入controller类(我理解为通过controller里面的方法代替sevlet)
在web.xml文件里将controller与Servlet对应上,初始化的参数里面放的是SpringMVC的配置文件,mapping标签里面放的是url解析,也就是什么样的url是需要传入Servlet的<servlet>
<servlet-name>mvc_servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc_servlet</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
创建一个applicationContext-mvc.xml文件初始内容和之前的配置applicationContext.xml的初始内容相同
然后添加这三个部分的配置,有好多种配置方式,在这我用的是注释配置
<!-- 将所有的controller都扫描进去 前提是用的注释配置 -->
<context:component-scan base-package="com.web.student.controller"></context:component-scan>
<!-- 映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!-- 适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!-- 视图解析器 jsp -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
TestController内容:(
这里一定要注意是RequestMapping不是ResourceMapping)
package com.web.blog.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.portlet.bind.annotation.ResourceMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class TestController {
@RequestMapping("/t.action")
public ModelAndView test(){
ModelAndView model = new ModelAndView();
model.setViewName("login.html");
return model;
}
}
现在启动tomcat,打开网页输入xxx/t.action就ok了