如何搭建spring框架 mvc框架

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&北风课堂:完成SpringMvc框架的搭建_土豆_高清视频在线观看SpringMVC环境搭建--从简入手 - 博客频道 - CSDN.NET
窥望奇妙世界
look world
分类:Spring
一看到SpringMVC是什么东西?很多人第一个想知道,他能干嘛!怎么用?其实我自己的理解Spring MVC就是,Spring框架中的一个拓展,我们平时开发网站不用其他的框架,本身java Web自带的就有我们熟悉的Servlet对吧。Spring MVC分解开就是Model、View、Controller,Spring帮我们做了这三个东西。就是我们熟悉的MVC模式嘛!
1、帮我们如何去管理Model(如User类的set和get的管理)。
2、帮我们如何传数据到View层。(JSP等)
3、就是页面请求的处理,Controller控制层。(其实相当于我们servlet)。
创建项目....略过---自己去百度或谷歌
使用框架去开发应用,一般都会使用maven去管理和自定下载jar包。没听过的朋友可以去百度下maven相关的资料。
最简单的springmvc只需要一个配置。
pom.xml的配置&project xmlns=&http://maven.apache.org/POM/4.0.0& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&&
&modelVersion&4.0.0&/modelVersion&
&groupId&psspring&/groupId&
&artifactId&psspring&/artifactId&
&packaging&war&/packaging&
&version&0.0.1-SNAPSHOT&/version&
&name&psspring Maven Webapp&/name&
&url&http://maven.apache.org&/url&
&dependencies&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-webmvc&/artifactId&
&version&3.0.5.RELEASE&/version&
&/dependency&
&/dependencies&
&finalName&psspring&/finalName&
&/project&其实就是这一段,作用是导入spring mvc需要的jar包
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-webmvc&/artifactId&
&version&3.0.5.RELEASE&/version&
&/dependency&
spring的web项目,当然需要spring配置文件,这个文件如下
因为我们要尽量的理解我们需要的东西,这个东西既可以管理bean也可以做其他的配置,总之,spring的配置文件都是在这种类型的文件中进行配置就可以了。当然,很多时候,我们会配置不同的文件,这样管理起来比较好区分辨别。
如果你只有一个文件。我们这个文本必须命名成xx-servlet.xml springMVC在初始化的时候,会去找 -servlet.xml这个结尾文件。(这是他的规则)
这个文件你可以取名叫 a-servlet.xml或者b-servlet.xml或其他的都是可以的。这个文件必须放在WEB-INF目录下,至于为啥?你们可以去研究下...
&?xml version=&1.0& encoding=&UTF-8&?&
xmlns=&http://www.springframework.org/schema/beans&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
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/context http://www.springframework.org/schema/context/spring-context.xsd&&
&context:component-scan
base-package=&cn.ps.spring.controller& /&
&!-- servlet需要的文件 --&
这里是自动扫描,管理controller的意思。
&context:component-scan
base-package=&cn.ps.spring.controller& /&
base-package=&这里就是你的controller类的位置&&&& --- 等同于我们的servlet类吧。(个人理解)
接下来就是web.xml的文件的配置
spring项目必须要加载spring配置文件,我们上面说了,只要包含beans的节点的xml文件就可以。
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xmlns=&/xml/ns/javaee& xmlns:web=&/xml/ns/javaee/web-app_2_5.xsd&
xsi:schemaLocation=&/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd&
id=&WebApp_ID& version=&2.5&&
&!-- 加载spring上下文 --&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&
/WEB-INF/x-servlet.xml
&/param-value&
&/context-param&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
&servlet-name&x&/servlet-name&
&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
&/servlet&
&servlet-mapping&
&!-- 查找springtest3-servlet.xml --&
&servlet-name&x&/servlet-name&
&url-pattern&/&/url-pattern&
&/servlet-mapping&
&!-- 欢迎界面 --&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&/web-app&
&!-- web --&
这样其实springmvc的环境就搭建好了。
下面我们写一个Controller类进行测试一下。
package cn.ps.spring.
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.servlet.ModelAndV
@Controller
public class MainController{
@RequestMapping(&/abc&)
public ModelAndView test(){
System.out.println(&你好,spring MVC不用这么复杂!&);
return new ModelAndView(&/login.jsp&);
任何一个类只要添加@Controller就可以作为spring的Controller类,可以进行接收和处理参数传输数据。
http://localhost:8888/psspring/abc
这样就可以访问到了
可以了,这就是最简单的Spring MVC环境。Spring是一个很大度的框架,你要加什么东西都是可以自定义添加的。慢慢摸索,你就会喜欢上他的。
排名:第6498名
(6)(28)(12)(10)(12)(31)(17)(0)(2)(1)(3)(1)(2)(1)(1)(1)Spring MVC 框架搭建配置方法及详解
投稿:mdxy-dxy
字体:[ ] 类型:转载 时间:
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。
一、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.jar
  Hibernate 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配置(部分)
&!-- Spring MVC配置 --&
&!-- ====================================== --&
&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&
&listener-class&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&
3. spring-servlet.xml配置
  spring-servlet这个名字是因为上面web.xml中&servlet-name&标签配的值为spring(&servlet-name&spring&/servlet-name&),再加上“-servlet”后缀而形成的spring-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.xml。
&&#63;xml version="1.0" encoding="UTF-8"&#63;&
&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.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://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.AnnotationMethodHandlerAdapter" /&
&!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 --&
&bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" /&
4. applicationContext.xml配置
&&#63;xml version="1.0" encoding="UTF-8"&#63;&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&
&!-- 采用hibernate.cfg.xml方式配置数据源 --&
&bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="configLocation"&
&value&classpath:config/hibernate.cfg.xml&/value&
&/property&
&!-- 将事务与Hibernate关联 --&
&bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory"&
&ref local="sessionFactory"/&
&/property&
&!-- 事务(注解 )--&
&tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/&
&!-- 测试Service --&
&bean id="loginService" class="service.LoginService"&&/bean&
&!-- 测试Dao --&
&bean id="hibernateDao" class="dao.HibernateDao"&
&property name="sessionFactory" ref="sessionFactory"&&/property&
  Spring MVC与Struts从原理上很相似(都是基于MVC架构),都有一个控制页面请求的Servlet,处理完后跳转页面。看如下代码(注解):
import javax.servlet.http.HttpServletR
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestP
import entity.U
@Controller //类似Struts的Action
public class TestController {
@RequestMapping("test/login.do") // 请求url地址映射,类似Struts的action-mapping
public 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 loginS //等价于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参数来区分访问不同的方法,代码如下:
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestM
@Controller
@RequestMapping("/test2/login.do") // 指定唯一一个*.do请求关联到该Controller
public class TestController2 {
@RequestMapping
public 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也可以这么写:
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
@Controller
@RequestMapping("/test3/*") // 父request请求url
public class TestController3 {
@RequestMapping("login.do") // 子request请求url,拼接后等价于/test3/login.do
public String testLogin(String username, String password, int age) {
if (!"admin".equals(username) || !"admin".equals(password) || age & 5) {
return "loginError";
return "loginSuccess";
三、结束语
  掌握以上这些Spring MVC就已经有了很好的基础了,几乎可应对与任何开发,在熟练掌握这些后,便可更深层次的灵活运用的技术,如多种视图技术,例如 Jsp、Velocity、Tiles、iText 和 POI。Spring MVC框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&

我要回帖

更多关于 myeclipse 的文章

 

随机推荐