SpringMvc(1)-10.7入门

springmvc:
在这里插入图片描述

1.jar
spring-aop.jar
spring-bean.jar
spring-context.jar
spring-core.jar
spring-web.jar

spring-webmvc.jar
commons-logging.jar

报错NoClassDefFoundError:缺少jar

2.第一个SpringMVC程序
Servet - Springmvc
jsp —>Servlet(Springmvc)—> jsp

springmvc配置文件:springmvc.xml
选中常用的命名空间:beans aop context mvc

普通的servlet流程:
请求-> url-pattern -> 交给对应的servlet去处理
在这里插入图片描述
如果现在想用springmvc,而不是普通的servlet,如何告知程序?(如何让springmvc介入程序)
需要配置一个Springmvc自带的servlet

在这里插入图片描述

通过以下配置,拦截所有请求,交给SpringMVC处理:

  <servlet>
  	<servlet-name>springDispatcherServlet</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<init-param>
  			<param-name>contextConfigLocation</param-name>
  			<param-value>classpath:springmvc.xml</param-value>
  	</init-param>
  	<load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>springDispatcherServlet</servlet-name>
  	<url-pattern>/</url-pattern>
  </servlet-mapping>

其中:

<url-pattern>.action</url-pattern>

/----------------------------拦截一切请求(注意:不是 /*)
/user----------------------拦截以/user开头的请求
/user/abc.do------------只拦截该请求
.action--------------------只拦截.action结尾的请求

项目中同时兼容springMVC和Servlet

  <servlet-mapping>
  	<servlet-name>springDispatcherServlet</servlet-name>
  	<url-pattern>.action</url-pattern>
  </servlet-mapping>

<a href="user/welcome.action">first springmvc - welcome</a>	交由springmvc处理 找 @RuestMapping映射
<a href="user/welcome.action">first springmvc - welcome</a>	交由springmvc处理 找 @RuestMapping映射
<a href="xxx/welcome">first springmvc - welcome</a>		交由servlet处理  找url-parttern /@WebServlet()

通过

<init-param>
  			<param-name>contextConfigLocation</param-name>
  			<param-value>classpath:springmvc.xml</param-value>
</init-param>

指定springmvc配置文件的路径,如果要省略,必须放到默认路径:/WEB-INF/springDispatcherServlet-servlet.xml
在这里插入图片描述

映射是去匹配@RequestMapping注解,可以和方法名、类名不一致
通过method指定请求方式(get post delete put)

@RequestMapping(value="welcome",method=RequestMethod.POST)//映射

设置name="xx"的情况:
params= {“name2=zs”,“age!=23”}

name2:必须有name="name2"参数
!name2:不能name="name2"的属性

age!=23:
a.如果有name=“age”,则age值不能是23
b.没有age

//接口/类    注解   配置
@Controller
@RequestMapping(value="handler") //映射
public class SpringMVCHandler {
		@RequestMapping(value="welcome",method=RequestMethod.POST,params= {"name=zs","age!=23","!height"})//映射
		public String  welcome() {
			return "success" ;//  views/success.jsp,默认使用了 请求转发的 跳转方式
		}	
		
		@RequestMapping(value="welcome2",headers= {"Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Encoding=gzip, deflate"})
		public String  welcome2() {
			return "success" ;//  views/success.jsp,默认使用了 请求转发的 跳转方式
		}
<form action="handler/welcome" method="post">
		name:<input name="name"  ><br/>
		age:<input name="age"  >
		height:<input name="height"  >
		<input type="submit" value="post">
</form>

ant风格的请求路径
? 任意单字符
* 任意个字符(0或多个)
** 任意个目录

@RequestMapping(value=“welcome3/**/test”)
接受示例:
a href=“welcome3/abc/xyz/abccc/test”

通过@PathVariable获取动态参数
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值