spring mvc基本配置

27 篇文章 0 订阅
6 篇文章 0 订阅

最近闲得蛋疼,晚上回家了解了解spring mvc

1.关于spring mvc的配置

spring mvc的入口是一个servlet,在项目描述文件web.xml中配置

<servlet>
	<servlet-name>mvcServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>mvcServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

这里url-pattern配置为"/“会响应所有的请求,此处servlet-name为mvcServlet,那么spring会在初始化的时候在/WEB-INF/下面寻找mvcServlet-servlet.xml配置文件,如果寻找不到则抛出异常。

请求进入到DispatcherServlet之后会根据请求的连接将请求传送到对应的控制器进行处理。

2.配置对应的控制器

通过注解的形式来配置对应的控制器,要想使用注解我们在mvcServlet-servlet.xml中加入

<mvc:annotation-driven/>

@Controller
public class HomeController {
	@RequestMapping({"/", "/home"})
	public String showHomePage(Map<String, Object> model){
		model.put("name", "ynb");
		return "home";
	}
}

spring mvc是基于方法进行设计的,@RequestMapping注解定义了该方法所对应的请求路径,如果请求的路径同该方法注解所定义的路径相同,那么会将request中的请求参数注入到方法对应的参数中,这里跟struts中的action有很大的区别,struts是基于对象进行处理的,每次请求新建一个action实例,并将request中请求参数注入到对象的实例变量中。将需要返回的数据放入到model对象中,以便返回的视图可以进行访问。

3.控制器对于请求返回一个字符串,那么spring mvc是如何通过这个字符串找到对应的返回视图的呢?

在mvcServlet-servlet.xml中配置相应的视图解析器,将返回的逻辑视图名称同对应的视图连接起来,spring mvc提供了很多默认的视图解析器:BeanNameViewResolver,ContentNegotiatingViewResolver,InternalResourceViewResolver....

在mvcServlet-servlet.xml中加入:

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/"/>
		<property name="suffix" value=".jsp"/>
</bean> 
经过视图解析器的处理,逻辑视图名称"home"被对应到/WEB-INF/views/home.jsp。

对于ajax请求,在方法体上面加入注解@ResponseBody,然后直接返回响应文本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值