Spring4.0MVC学习资料,Controller中的方法详解和使用(四)-阿里云开发者社区

开发者社区> 业余草> 正文

Spring4.0MVC学习资料,Controller中的方法详解和使用(四)

简介: <p>在以前,mvc的框架,基本上就是struts框架了。但是现在不一样了。springmvc出来了。spring的mvc框架不亚于struts了,springmvc出来了,我们有了更多的选择。</p> <p>Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块
+关注继续查看

在以前,mvc的框架,基本上就是struts框架了。但是现在不一样了。springmvc出来了。spring的mvc框架不亚于struts了,springmvc出来了,我们有了更多的选择。

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

jar包引入我就不讲了,在前面几章已经说过,而且我的下载资源里也有相应的jar包进行下载。

我们看看web.xml的配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<!-- Spring MVC配置 -->
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml-->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:com/herman/ss/config/testAjax.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>*.herman</url-pattern>
	</servlet-mapping>
	  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
在看看spring配置文件,testAjax.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
			http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
           http://www.springframework.org/schema/context 
           http://www.springframework.org/schema/context/spring-context-4.0.xsd
           http://www.springframework.org/schema/aop 
           http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
           http://www.springframework.org/schema/tx 
           http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
    
    <!-- 启用spring mvc 注解 -->
	<context:annotation-config />
           
    <!-- 自动注解 -->
    <context:component-scan base-package="com.herman.ss.controller"></context:component-scan>
    
	<!-- 配置http请求的json映射消息转换器 -->
	<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
	    <property name="supportedMediaTypes">  
	        <list>  
	            <value>application/json;charset=UTF-8</value>  
	       </list>  
	    </property>
	</bean>

	<!-- 完成请求和注解POJO的映射 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">  
	        <list>  
	            <ref bean="mappingJacksonHttpMessageConverter"/>  
	        </list>  
	    </property>  
	</bean>

	<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix="" />
</beans>
ok,一切准备就绪,看看HermanController.java
package com.herman.ss.controller;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("super")
public class HermanController {
	
	@RequestMapping("testAjax") 
	@ResponseBody
	public String testAjax(){
		System.out.println("我是测试Spring mvc的......");
		return "{id:4,text:'Spring mvc'}";
	}
	
	@RequestMapping("html")
	public String testHtml(){
		//请求被重定向到herman.jsp页面
		return "redirect:/herman.jsp";
	}
	
	@RequestMapping("testforward")
	public String testforward(){
		//请求被转发到forward.jsp页面
		return "forward:/forward.jsp";
	}
	
	@RequestMapping(value="root")
	public String root(){
		return "root.jsp";
	}
	
	@RequestMapping(value="test")
	public String test(){
		return "html/test.html";
	}
	
	@RequestMapping(value="suffix")
	public String suffix(){
		//如果想返回不带后缀的页面,则必须在配置xml中配置p:suffix=""
		//如:p:suffix=".jsp"
		return "suffix";
	}
	
	@RequestMapping(value="mav")
	public ModelAndView mav(){
		//如果想返回不带后缀的页面,则必须在配置xml中配置p:suffix=""
		//如:p:suffix=".jsp"
		ModelAndView mav=new ModelAndView();
		mav.setViewName("html/mav.html");
		return mav;
	}
	
	@RequestMapping(value="request")
	public ModelAndView request(HttpServletRequest request, HttpServletResponse response){
		//带request请求参数的示例
		//如:p:suffix=".jsp"
		ModelAndView mav=new ModelAndView();
		mav.setViewName("html/mav.html");
		System.out.println(request.getParameter("testVale"));
		return mav;
	}
	
	@RequestMapping(value="request")
	public ModelAndView session(HttpSession httpSession, HttpServletResponse response){
		//带request请求参数的示例
		//如:p:suffix=".jsp"
		ModelAndView mav=new ModelAndView();
		mav.setViewName("html/mav.html");
		return mav;
	}
	
}
好吧就到这里结束了吧,我们下章再见。欢迎大家关注我的博客!!

如有不懂,疑问或者欠妥的地方,也或者需要源码,请加QQ群:135430763   进行反馈,共同学习!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【HEVC学习与研究】45、HEVC的自适应采样点补偿SAO
1、SAO的意义 在图像中像素值剧烈变化的边界区,经过编码-解码重建之后通常会出现波纹状的失真现象,这种失真称作振铃效应。振铃效应产生的根本原因在于边界区高频分量在编码过程中丢失。
1081 0
Spring Security笔记:使用BCrypt算法加密存储登录密码
在前一节使用数据库进行用户认证(form login using database)里,我们学习了如何把“登录帐号、密码”存储在db中,但是密码都是明文存储的,显然不太讲究。这一节将学习如何使用spring security3新加入的bcrypt算法,将登录加密存储到db中,并正常通过验证。
1626 0
【转】VC++/MFC(VC6)开发技术精品学习资料下载汇总 (2011.3.10更新)
from:http://club.topsage.com/thread-361504-1-1.html   Visual C++ (VC) / MFC 电子书下载:Visual C++ 2008 入门经典 (中文版) 下载Windows核心编程 第5版 (Windows via C/C++, 5...
2478 0
+关注
业余草
业余草www.xttblog.com网站站长,CODE大全网站站长,爱分享www.ifxvn.com或www.ndislwf.com网站站长!
178
文章
8
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载