一、在web.xml中配置前端控制器
<url-pattern>/</url-pattern>
会匹配到 /login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
<url-pattern>/*</url-pattern>
会匹配所有的url:路径型的和后缀型的url(包括/login,.jsp,.js和*.html等)
<!--前端控制器-->
<servlet>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern> <!--拦截所有(不包括jsp)-->
</servlet-mapping>
二、配置spring-mvc.xml文件
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
<context:component-scan base-package="com.mark" use-default-filters="false"><!-- 这里注意要进行设置,否则会有错误 -->
<context:include-filter type="regex" expression=".*.controller.*"/>
<context:include-filter type="regex" expression=".*.*.controller.*"/>
</context:component-scan>
<!-- 处理器映射器spring 3.2后采用下面新的映射器 -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> -->
<!-- 处理器适配器spring 3.2后采用下面新的映射器 -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> -->
<!-- 注解驱动,可以通过注解直接将上面两个器引入 -->
<mvc:annotation-driven/>
<!-- 配置视图解析器,最终jsp物理地址:前缀+逻辑视图名+后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" /> <!-- 配置逻辑视图的前缀 -->
<property name="suffix" value=".jsp" /> <!-- 配置逻辑视图的后缀 -->
</bean>
三、创建XxxController控制处理器
@Controller
@RequestMapping("/totalPreviewController")
public class TotalPreviewController extends BaseController {
@Autowired
private TotalPreviewServiceI totalService;
@ResponseBody
@RequestMapping("/showItemInfo_noSecurity")
public ModelAndView showItemInfo(HttpSession session,Item item,Integer id){//形参形式接收请求数据
List<Item> list = new ArrayList<>();
list = getFromDB();
// 创建ModelAndView,用来存放数据和视图
ModelAndView modelAndView = new ModelAndView();
// 设置数据到模型中
modelAndView.addObject("list", list);
// 设置视图jsp,需要设置视图的物理地址
modelAndView.setViewName("itemList");
return modelAndView;
}
}