A. spring mvc需要配置吗
需要配置的一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)1. jar包引入Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jarHibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。DispatcherServlet是继承自HttpServlet的,既然SpringMVC是基于DispatcherServlet的,那么我们先来配置一下DispatcherServlet,好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。<!– 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>/WEB-INF/spring-servlet.xml</param-value> 默认</init-param>–><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>spring</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><!– Spring配置 –><!– ====================================== –><listener><listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!– 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 –><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/applicationContext.xml</param-value></context-param>spring-servlet.xml配置spring-servlet这个名字是因为上面web.xml中<servlet-name>标签配的值为spring(<servlet-name>spring</servlet-name>),再加上“-servlet”后缀而形成的spring-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/context <a href="http://www.springframework.org/schema/context/spring-context-3.0.xsd">http://www.springframework.org/schema/context/spring-context-3.0.xsd</a>"><!– 启用spring mvc 注解 –><context:annotation-config /><!– 设置使用注解的类所在的jar包 –><context:component-scan base-package="controller"></context:component-scan><!– 完成请求和注解POJO的映射 –><bean class="org.springframework.web.servlet.mvc.annotation." /><!– 对转向页面的路径解析。prefix:前缀, suffix:后缀 –><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" /></beans>DispatcherServlet会利用一些特殊的bean来处理Request请求和生成相应的视图返回。关于视图的返回,Controller只负责传回来一个值,然后到底返回的是什么视图,是由视图解析器控制的,在jsp中常用的视图解析器是InternalResourceViewResovler,它会要求一个前缀和一个后缀在上述视图解析器中,如果Controller返回的是blog/index,那么通过视图解析器解析之后的视图就是/jsp/blog/index.jsp。主要是说说Controller.一个类使用了@Controller进行标记的都是Controllerpackage controller;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import entity.User;@Controller //类似Struts的Actionpublic class TestController {@RequestMapping("test/login.do") // 请求url地址映射,类似Struts的action-mappingpublic String testLogin(@RequestParam(value="username")String username, String password, HttpServletRequest request) {// @RequestParam是指请求url地址映射中必须含有的参数(除非属性required=false)// @RequestParam可简写为:@RequestParam("username")if (!"admin".equals(username) || !"admin".equals(password)) {return "loginError"; // 跳转页面路径(默认为转发),该路径不需要包含spring-servlet配置文件中配置的前缀和后缀}return "loginSuccess";}@RequestMapping("/test/login2.do")public ModelAndView testLogin2(String username, String password, int age){// request和response不必非要出现在方法中,如果用不上的话可以去掉// 参数的名称是与页面控件的name相匹配,参数类型会自动被转换if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {return new ModelAndView("loginError"); // 手动实例化ModelAndView完成跳转页面(转发),效果等同于上面的方法返回字符串}return new ModelAndView(new RedirectView("../index.jsp")); // 采用重定向方式跳转页面// 重定向还有一种简单写法// return new ModelAndView("redirect:../index.jsp");}@RequestMapping("/test/login3.do")public ModelAndView testLogin3(User user) {// 同样支持参数为表单对象,类似于Struts的ActionForm,User不需要任何配置,直接写即可String username = user.getUsername();String password = user.getPassword();int age = user.getAge();if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {return new ModelAndView("loginError");}return new ModelAndView("loginSuccess");}@Resource(name = "loginService") // 获取applicationContext.xml中bean的id为loginService的,并注入private LoginService loginService; //等价于spring传统注入方式写get和set方法,这样的好处是简洁工整,省去了不必要得代码@RequestMapping("/test/login4.do")public String testLogin4(User user) {if (loginService.login(user) == false) {return "loginError";}return "loginSuccess";}}以上4个方法示例,是一个Controller里含有不同的请求url,也可以采用一个url访问,通过url参数来区分访问不同的方法,代码如下:package controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping("/test2/login.do") // 指定唯一一个*.do请求关联到该Controllerpublic class TestController2 {@RequestMappingpublic String testLogin(String username, String password, int age) {// 如果不加任何参数,则在请求/test2/login.do时,便默认执行该方法if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {return "loginError";}return "loginSuccess";}@RequestMapping(params = "method=1", method=RequestMethod.POST)public String testLogin2(String username, String password) {// 依据params的参数method的值来区分不同的调用方法// 可以指定页面请求方式的类型,默认为get请求if (!"admin".equals(username) || !"admin".equals(password)) {return "loginError";}return "loginSuccess";}@RequestMapping(params = "method=2")public String testLogin3(String username, String password, int age) {if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {return "loginError";}return "loginSuccess";}}其实RequestMapping在Class上,可看做是父Request请求url,而RequestMapping在方法上的可看做是子Request请求url,父子请求url最终会拼起来与页面请求url进行匹配,因此RequestMapping也可以这么写:package controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controller@RequestMapping("/test3/*") // 父request请求urlpublic class TestController3 {@RequestMapping("login.do") // 子request请求url,拼接后等价于/test3/login.dopublic String testLogin(String username, String password, int age) {if (!"admin".equals(username) || !"admin".equals(password) || age < 5) {return "loginError";}return "loginSuccess";}}在SpringMVC中常用的注解还有@PathVariable,@RequestParam,@PathVariable标记在方法的参数上,利用它标记的参数可以利用请求路径传值,看下面一个例子@RequestMapping(value="/comment/{blogId}", method=RequestMethod.POST)public void comment(Comment comment,@PathVariable int blogId, HttpSession session, HttpServletResponse response) throws IOException {}在该例子中,blogId是被@PathVariable标记为请求路径变量的,如果请求的是/blog/comment/1.do的时候就表示blogId的值为1. 同样@RequestParam也是用来给参数传值的,但是它是从头request的参数里面取值,相当于request.getParameter("参数名")方法。在Controller的方法中,如果需要WEB元素HttpServletRequest,HttpServletResponse和HttpSession,只需要在给方法一个对应的参数,那么在访问的时候SpringMVC就会自动给其传值,但是需要注意的是在传入Session的时候如果是第一次访问系统的时候就调用session会报错,因为这个时候session还没有生成。
B. spring mvc 4.1的xx-servlet.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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <mvc:annotation-driven/><!– 启动注解驱动,代替映射器处理器和适配器。默认支持json的转换 –> <mvc:default-servlet-handler/> <context:component-scan base-package="com.app.controller" /><!– 配置SpringMVC的视图解析器 –> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean></beans>
C. springMVC建立的时候用什么工程建立
1,向工程添加Spring相关的jar包,MyEclipse中直接添加Spring功能即可有相关jar包,在Eclipse中需要手动找相关jar包然后到懂lib文件件下即可,哪些jar可以网上搜索;2,编写Spring的配置XML文件,常见文件名为applicationContext.xml,一般放在WEB-INF下某个地方,根据需要而定;这个配置文件主要是用Spring框架来加载整合第三方或自己定义的各个工作Java Bean到Spring框架中,如果仅作可运行的例子可不需要定义任何的Bean;如果有其它的Bean,则可定义一个Bean并指出class的来源;3,编写SpringMVC的配置XML文件,默认常见文件名为servlet的名称-servlet.xml,一般放在WEB-INF下某个地方,根据需要而定;SpringMVC的配置XML文件是扫描/加载实现SpringMVC的核心工作Java Bean到Spring框架中,对应的各个class文件在别人已经开发好的Spring的各jar包中,或者是用户自己开发的class文件(例如控制器类),最简单的是加载各个控制类classs文件和实现MVC分发请求所必须的和两个Bean即可
D. springmvc配置文件springmvc-servlet.xml
你好!
spring mvc 的
<mvc:resourcesmapping="***"location="***">
标签是用来进行配置静态资源访问的。
mapping就是表示你的请求路径,在你这个例子里就是相对路径为/statics的请求
location就是表示mapping请求的最终位置,即mapping的请求最后指向的位置
举个栗子:
现在有个请求 http://ip:端口/项目名/statics/test.js当springmvc拦截后,会去项目的static目录找test.js这个文件
因为是同名所以可能会看不清楚,可以更换下配置,比如:
<mvc:resourcesmapping="/javascript/**"location="/statics/javascript/"/><mvc:resourcesmapping="/styles/**"location="/statics/css/"/><mvc:resourcesmapping="/images/**"location="/statics/images/"/>
springmvc遇到http://ip:端口/项目名/javascript/test.js,会到项目下statics目录下的javascript目录找test.js,同理访问…./styles/xxx.css会到项目下statics目录下的css目录找xxx.css,images也同样。
希望对你有帮助!
E. 如何搭建spring mvc框架
1.创建一个maven webapp工程。2.修改WEB-INF目录下的web.xml文件:内容如下,文中有注释[html] view plain print?<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> <!– spring MVC的核心就是DispatcherServlet,使用springMVC的第一步就是将下面的servlet放入web.xml servlet-name属性非常重要,默认情况下,DispatchServlet会加载这个名字-servlet.xml的文件,如下,就会加载 dispather-servlet.xml,也是在WEN-INF目录下。 –> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!– 设置dispatchservlet的匹配模式,通过把dispatchservlet映射到/,默认servlet会处理所有的请求,包括静态资源 –> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!– 字符集过滤器 –> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> 说明:其中字符集过滤器部分不是必须的,但是如果要处理中文的话,最好还是加上。3.在WEN-INF目录下创建dispatcher-servlet.xml内容如下,文中有注释。[html] view plain print?<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" default-lazy-init="true"> <!– 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源,而不通过控制器 –> <!– 设置不过滤内容,比如:css,jquery,img 等资源文件 –> <mvc:resources location="/*.html" mapping="/**.html" /> <mvc:resources location="/css/*" mapping="/css/**" /> <mvc:resources location="/js/*" mapping="/js/**" /> <mvc:resources location="/images/*" mapping="/images/**" /> <!– 添加注解驱动 –> <mvc:annotation-driven /> <!– 默认扫描的包路径 –> <context:component-scan base-package="com.my.web" /> <!– mvc:view-controller可以在不需要Controller处理request的情况,转向到设置的View –> <!– 像下面这样设置,如果请求为/,则不通过controller,而直接解析为/index.jsp –> <mvc:view-controller path="/" view-name="index" /> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> <!– 配置jsp路径前缀 –> <property name="prefix" value="/"></property> <!– 配置URl后缀 –> <property name="suffix" value=".jsp"></property> </bean> </beans> 说明: 其中<!– 默认扫描的包路径 –><context:component-scan base-package="com.my.web" />中的路径,com.my.web,是需要在src/main/java中创建的包,用来放Java代码。4.使用maven引入SpringMVC所依赖的jar包。修改pom.xml文件4.1添加属性,在<project>标签中[html] view plain print?<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>3.1.2.RELEASE</spring.version> </properties> 4.2添加依赖,在<dependencies>标签中[html] view plain print? <!– spring begin –> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!– spring end –> 添加完成之后,通过更新工程,就会自动引入所依赖的jar包。做完上面的准备工作之后就可以写代码了。5.写前台页面:在maven工程中生成的有一个index.jsp,将其修改成一下内容,很简单,只是一个登陆框,提交一个form表单,中的用户名和密码。[html] view plain print?<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>欢迎</title> </head> <body> <h2>Hello World!</h2> <form action="login"> 用户名:<input id="username" name="username" type="text"></input><br> 密 码:<input id="username" name="password" type="password"></input><br> <input type="submit"> </form> <span>当前IP:<%=request.getRemoteAddr() %></span> </body> </html> 6.写controller层代码,用来响应前台请求。[java] view plain print?package com.my.web.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; /** * TODO 控制层代码 * @author 591791 * @date 2014年11月27日 */ @Controller public class MyController { @RequestMapping("login") //用来处理前台的login请求 private @ResponseBody String hello( @RequestParam(value = "username", required = false)String username, @RequestParam(value = "password", required = false)String password ){ return "Hello "+username+",Your password is: "+password; } }
F. spring mvc 如何配置最简洁的
SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Lifecycleforoverridingbinding,validation,etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比struts所没有的优势。而且框架本身有代码,看起来容易理解。关于SpringMVCController层的单元测试测试准备工作:1、搭建测试Web环境[email protected](UnitilsJUnit4TestClassRunner.class)@SpringApplicationContext({"classpath:*.xml","file:src/main/webapp/WEB-INF/spring-configuration/*.xml","file:src/main/webapp/WEB-INF/*.xml"})2、注入Controller类[email protected];3、编写测试数据测试数据的文件名一定要与测试类的文件名相同,比如测试数据BeanControllerTest.xml,测试类BeanControllerTest。4、注入测试数据[email protected]@DataSetpublicvoidtestBean(){}MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下SpringMVC的一些使用心得。之前的项目比较简单,多是用JSP、Servlet+JDBC直接搞定,在项目中尝试用Struts(StrutsMVC)+Spring+Hibernate,严格按照分层概念驱动项目开发,因项目需求一直不断变化,功能不断扩充、增强,技术构建也几经改变到目前有个稳定的应用,体会了很多感受,这次先对SpringMVC层进行一些个人总结。MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC,这边不去讨论项目中是否应用MVC,也不针对MVC的实现原理进行讲解,而是探讨实践中如何从应用SSH,到Struts(StrutsMVC)+Spring+Hibernate的演化过程。先看Struts如何与Spring结合处理一次简单的请求响应代码,前台可以设为用AJAX调用:1.在struts-config.xml文件中加入2.在applicationContext.xml文件中加入3.cn.base.GetPersonListAction实现请求响应代码可以看出一次请求需求如此多的步骤,在加上一个项目下来有很多这样的请求响应,将给配置文件管理带来很大的麻烦。经过对Spring的深入应用,Spring本身提供的URL请求控制,对其天然支持可以让我们不需要applicationContext.xml再次声明一次URL请求Bean,即减少了Struts的声明URL,达到减少些繁琐的配置。但只是少了一些而已,同样也会面临着配置文件的管理问题。Spring注解将给我们的工作带来些轻松,利用反射机制原理出现的注解就是为了解决配置大量的配置问题。请看下处理一次简单的请求响应代码@Controller–声明控制器@RequestMapping("/person")–声明{@Autowired–业务接口注入;/***获得人员列表*@paramrequest*@paramresponse*@throwsException*/@RequestMapping(params="method=geList")–即处理/person.do?method=geList方法publicvoidgetnodeList(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//处理请求//处理响应}}可以看出,在代码上加入注解可以省去我们上面说的多个配置文件的工作,达到简便的MVC处理请求响应。在配上简单的配置文件声明,即可轻松处理项目的全部请求控制工作。SpringMVC乱码问题在使用SpringMVC做javaWeb项目时,乱码问题时常都会出现,解决方法也不尽相同,有简单也有复杂的;如果加入了Spring框架之后就不一样了,可以采用Spring框架自带的过滤器CharacterEncodingFilter,这样可以大大减轻了我们的工作量,即简单方便又容易理解,配置方式如下:在web.xml文件中filter的位置加上如下内容:encodingFilterorg.springframework.web.filter.-*.htmspringmvc实现上传文件代码片段@[email protected]("/common")publicclassCommonController{@RequestMapping(value="/upload")[email protected](@RequestParam("file")MultipartFilefile,HttpSessionsession)throwsException{FilelocalFile=newFile("c:/test/a.rar");file.transferTo(localFile);return"success";}}
G. springmvc中怎么建立hbm.xml
一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)1. jar包引入Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jarHibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包2. web.xml配置(部分)3. spring-servlet.xml配置spring-servlet这个名字是因为上面web.xml中<servlet-name>标签配的值为spring(<servlet-name>spring</servlet-name>),再加上逗-servlet地后缀而形成的spring-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.xml。
H. Spring MVC 配置文件讲解
使用@Controller定义一个控制器 使用@RequestMapping映射请求 使用@RequestParam绑定请求参数到方法参数 使用@ModelAttribute提供一个从模型到数据的链接 使用@SessionAttributes指定存储在会话中的属性<context:annotation-config/>他的作用是隐式地向 Spring 容器注册、、、 这 4 个BeanPostProcessor。例如:如果想使用@ Resource 、@ PostConstruct、@ PreDestroy等注解就必须声明。如果想使用@PersistenceContext注解,就必须声明的Bean。如果你想使用@Autowired注解,那么就必须事先在 Spring 容器中声明 Bean。传统声明方式如下:<bean class="org.springframework.beans.factory.annotation. "/> 如果想使用 @Required的注解,就必须声明的Bean。同样,传统的声明方式如下:<bean class="org.springframework.beans.factory.annotation."/> 记得,使用注解一般都会配置扫描包路径选项<context:component-scan base-package=”XX.XX”/> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>这个配置常常见于web.xml文件中<load-on-startup>1</load-on-startup>是启动顺序,让这个Servlet随Servletp容器一起启动。 <url-pattern>*.do</url-pattern> 会拦截*.do结尾的请求。<servlet-name>dispatcherServlet</servlet-name>这个Servlet的名字是dispatcherServlet,可以有多个DispatcherServlet,是通过名字来区分的。每一个DispatcherServlet有自己的WebApplicationContext上下文对象。同时保存的ServletContext中和Request对象中,关于key,以后说明。 在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[dispatcherServlet]-servlet.xml 的配置文件,生成文件中定义的bean。<init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value> </init-param>指明了配置文件的文件名,不使用默认配置文件名,而使用springMVC.xml配置文件。其中<param-value>**.xml</param-value> 这里可以使用多种写法1、不写,使用默认值:/WEB-INF/<servlet-name>-servlet.xml2、<param-value>/WEB-INF/classes/springMVC.xml</param-value>3、<param-value>classpath*:springMVC-mvc.xml</param-value>4、多个值用逗号分隔springMVC-mvc.xml 配置文件片段讲解<context:annotation-config/><!– 自动扫描的包名 –> <context:component-scan base-package="com.iflysse"/> <!– 默认的注解映射的支持 –> <mvc:annotation-driven/><!– 视图解释类 –> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/><!–可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 –> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> </bean> <mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册与 两个bean,是spring MVC为@Controllers分发请求所必须的。并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。后面,我们处理响应ajax请求时,就使用到了对json的支持。后面,对action写JUnit单元测试时,要从spring IOC容器中取与 两个bean,来完成测试,取的时候要知道是<mvc:annotation-driven />这一句注册的这两个bean。<!– json 支持 –> <bean id="" class="org.springframework.http.converter.json."> <property name="objectMapper" ref="commonObjectMapper"/> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!– ObjectMapper json转换 –> <bean id="commonObjectMapper" class="cn.com.starit.util.CommonObjectMapper"/>
I. spring springmvc hibernate 架构都有哪些xml
1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决应用开发的复杂性而创建的。