Java Web之基于注解的Spring MVC环境配置

1、在web.xml中配置前端控制器,拦截请求,然后配置加载SpringMVC的配置文件(处理器映射器、处理器适配器、视图解析器等)

<!-- springmvc前端控制器 -->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      
<!-- 
contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等)
如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml)
-->
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
      </init-param>
  </servlet>

  <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
     
 <!-- 
      第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析
      第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析, 使用此种方式可以实现 RESTful风格的url
      第三种:/*,这样配置不对,使用这种配置,最终要转发到一个jsp页面时,
      仍然会由DispatcherServlet解析jsp地址,不能根据jsp页面找到handler,会报错。
-->
      <url-pattern>*.action</url-pattern>
  </servlet-mapping>

2、设置基于注解的处理器映射器和适配器

  • 在Spring3.1之后使用注解映射器
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
  • 在Spring3.1之后使用注解映射器
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter

3、使用 mvc:annotation-driven可以代替注解映射器和注解适配器配置

 <!--注解映射器 -->
   <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
   <!--注解适配器 -->
   <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

<!-- 
mvc:annotation-driven默认加载很多的参数绑定方法,比如json转换解析器就默认加载了,
如果使用mvc:annotation-driven不用配置上边的两句,实际开发时使用mvc:annotation-driven 
-->
   <mvc:annotation-driven></mvc:annotation-driven>

4、开发注解Handler

使用 @Controller 标识它是一个控制器(处理器),使用 @RequestMapping 实现控制器中的方法和访问时的url之间的映射,使用基于注解的处理器映射器不需要在xml中配置url和Handler的映射关系。

5、在spring容器中(xml文件)加载Handler

   <!-- 对于注解的Handler可以单个配置 实际开发中建议使用组件扫描 -->
   <!-- <bean class="cn.ssm.controller.XXXX" /> -->
   <!-- 可以扫描controller、service、... 扫描controller,指定controller的包 -->
   <context:component-scan base-package="cn.ssm.controller"></context:component-scan>

6、配置视图解析器

<!-- 
视图解析器  解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包  
这样配置以后 控制器中的ModelAndView.setViewName("")时就无需指定前后缀了   
-->
   <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <!-- 配置jsp路径的前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>   
         <!-- 配置jsp路径的后缀 -->
        <property name="suffix" value=".jsp"/>
   </bean>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java达人

Spring Cloud第二篇 创建一个Eureka Server

作者:周立 链接:http://itmuch.com/spring-cloud-2/(点击文末阅读原文前往) 在Spring Cloud实现一个Eureka S...

2059
来自专栏nnngu

Spring MVC的配置和使用

Spring MVC的配置和使用 笔记仓库:https://github.com/nnngu/LearningNotes ---- Spring MVC需要的j...

4275
来自专栏西安-晁州

Eureka Server项目启动报错处理

1663
来自专栏JAVA技术站

SpringCloud Eureka注册中心使用

一、maven依赖配置,SpringCloud目前有四个版本,经测试Camden,Dalston两个版本构建Eureka正常,其它两版本存在jar依赖问题,所以...

674
来自专栏nnngu

Spring MVC的配置和使用

笔记仓库:https://github.com/nnngu/LearningNotes

2139
来自专栏Android知识点总结

SpringBoot-01-之初体验

1141
来自专栏编程微刊

vue踩坑记-在项目中安装依赖模块npm install报错

在维护别人的项目的时候,在项目文件夹中安装npm install模块的时候,报错如下:

1191
来自专栏王二麻子IT技术交流园地

《SpringMVC从入门到放肆》一、概述

SpringMVC也叫Spring web mvc,属于表现层框架。SpringMVC是Spring框架的一部分,是在Spring3.0后发布的。

4014
来自专栏生信技能树

STAR的速度为何如此诡异

希望走过路过的小伙伴能检查一下自己的转录组数据,帮我测试一下你们的star,看看能不能发现这样的现象哈,欢迎发邮件跟我交流,我的邮箱是 jmzeng1314 在...

1536
来自专栏Java学习123

NFS常见错误

3928

扫码关注云+社区

领取腾讯云代金券