SpringMVC注解配置

Posted 拿红罗卜钓鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC注解配置相关的知识,希望对你有一定的参考价值。

springMVC xml 配置
springMVC 的注解配置
springMVC 相关注解
1 、导入 jar ( core beans context expression jcl aop web webmvc context-
support )
2 、创建配置文件 spring-mvc.xml 导入约束: beans
3 、配置 web.xml 文件,配置当程序一启动时,就加载配置文件 spring-mvc.xml ,以及设置所有路径都
走中央控制器 DispathcerServlet
4 、编写 UserController 类,需要实现 Controller 接口,重写 handleRequest 方法 ,返回
ModelAndView 对象 ( 设置视图名称、以及域中的数据 )
5 、将 UserController 交给 spring 管理, 以配置视图解析器;
<bean name="/user" class=""></bean>
<bean class="InternalResourceViewResolver">
6 、启动程序,访问 /user
1 、导入 jar ( core beans context expression jcl aop web webmvc context-
support )
2 、创建配置文件 spring-mvc.xml 导入约束: beans context mvc
3 、配置 web.xml 文件,配置当程序一启动时,就加载配置文件 spring-mvc.xml ,以及设置所有路径都
走中央控制器 DispathcerServlet
4 、编写 LoginController 类,使用注解的方式;
在方法上 @RequestMapping("/login") 此注解,表示当前方法所映射的路径
5 、编写配置文件 spring-mvc.xml 开启 ioc springmvc 注解 以及视图解析器
6 、启动程序
@RequestMapping("/login") 项目地址 /login
作用:用来设置映射路径的,就是用户输入的访问路径; http://localhost:8080/login
使用位置:
1 、类上方,表示当前类中所有方法上的路径的父路径,在使用方法上的路径时,需要添加此
父路径;
2 、方法上方,表示 访问此路径时,执行当前方法;
属性:
path: 用来设置当前方法的路径的;
value: 效果等同于 path 可以互换
method :表示当前方法支持的请求方式;如果不设置,表示任何请求方式都支持 springMVC 方法的传参
重定向与转发
1 、使用 ServletAPI 进行接收
设置方法中参数为 HttpServletRequest HttpSession HttpServletRespone 当设置了
参数为以上几种时, springMVC 会自动进行参数对象的赋值 ;
使用的方式上和 servlet 相同;
2 、使用 String 类型进行接收
使用用户请求的参数名作为方法的参数名, springmvc 会自动将对应的属性进行赋值;
http://localhost:8848/login ?username=admin&password=123&code=123
public String login(String username , String password , String code ){
3 、使用对象进行接收
http://localhost:8848/login ?username=admin&password=123&code=123
public String login(User user ){}
class User{
private String username ;
private String password ;
private String code ;
public void setxxx( xx ){ this.xx = xx }
}
4 、通过 @RequestParam 接收请求参数
使用位置 放在 方法参数之前,用来设置请求参数的名称的,以及此参数是否是必须的;
public String login(@RequestParam(value="username" ,required = false)
String name , String password , String code ){ }
5 、通过 @PathVariable 接收 URL 中的请求参数
6 、使用 @ModelAttribure 注解获取请求参数
转发:请求转发,由 request 请求发出的,当一个请求过来之后,当前接收的类、文件不能做出相应的响
应而把此请求转发其他 Servlet jsp html 等 进行处理; 地址栏中内容不会发生变化,只有一次请求; (
只能转发本项目中的资源 )
重定向:由 response 响应做出的,当一个请求过来之后,当前接收的类、文件不能做出相应的响应而
是,重新发出了一个请求去访问其他 Servlet jsp html 等 进行处理; 地址栏会变化成新的请求路径;
( 不仅能重定向到当前项目中的资源,还能重新到网络中的其他资源 )
SpringMVC 中的转发和重定向
当方法设置为 String 类型的返回值时,默认使用的转发处理;
@RequestMapping("/login")
public String login(){
return "success";
}
1 、直接使用 return "success" 表示转发给 前缀 +success+ 后缀 的页面 ;
2 、使用 return "forward:success" 表示将请求转发给 success 路径 ,不再设置前后缀
如果想要转发给一个页面, 使用 return "forward:/WEB-INF/success.jsp";
3 、重定向:
使用 return "redirect:success.jsp" 静态资源访问问题
直接访问 css/style.css 文件,会报错,无法找到此路径相应的映射方法
解决思路:不让此路径被中央控制器拦截 ;
1 、将 css 文件使用默认处理方式进行处理,不再交由中央控制器处理,设置路径的更高匹配优先级
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
2 、使用 spring-mvc.xml 进行配置
<mvc:resources mapping="/css/**" location="/css/"></mvc:resources>
3 、修改 web.xml 中的请求路径地址方式
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

以上是关于SpringMVC注解配置的主要内容,如果未能解决你的问题,请参考以下文章

spring mvc 必须使用注解配置吗?可不可使用xml配置?求高手详解

springmvc的注解配置

第三次课:使用注解的方式配置springMVC

使用注解开发SpringMVC

SpringMVC注解开发

SpringMVC基于注解的Controller