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
请求发出的,当一个请求过来之后,当前接收的类、文件不能做出相应的响
只能转发本项目中的资源
)
重定向:由
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注解配置的主要内容,如果未能解决你的问题,请参考以下文章