作业帮 > 体裁作文 > 教育资讯

spring,mvc,教程

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/24 17:15:20 体裁作文
spring,mvc,教程体裁作文

篇一:spring mvc经典自学教程

spring mvc学习教程(一)-入门实例

引言

1.MVC:Model-View-Control

框架性质的C层要完成的主要工作:封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、

返回处理数据结果及相应的视图给用户。

2.简要概述springmvc

Spring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器,也即 使用

了一种被称为Front Controller 的模式(后面对此模式有简要说明)。 Spring 的C 层框架使用了后端控

制器来、映射处理器和视图解析器来共同完成C 层框架的主要工作。并且spring 的C 层框架还真正地把

业务层处理的数据结果和相应的视图拼成一个对象,即我们后面会经常用到的

ModelAndView 对象。

一、入门实例

1. 搭建环境

在spring的官方API文档中,给出所有包的作用概述,现列举常用的包及相关作用: org.springframework.aop-3.0.5.RELEASE.jar:与Aop编程相关的包

org.springframework.beans-3.0.5.RELEASE.jar:提供了简捷操作bean的接口

org.springframework.context-3.0.5.RELEASE.jar:构建在beans包基础上,用来处理资源文件及国际

化。

org.springframework.core-3.0.5.RELEASE.jar:spring核心包

org.springframework.web-3.0.5.RELEASE.jar:web核心包,提供了web层接口

org.springframework.web.servlet-3.0.5.RELEASE.jar:web 层的一个具体实现包, DispatcherServlet也位于此包中。

后文全部在spring3.0 版本中进行,为了方便,建议在搭建环境中导入spring3.0 的所有jar 包(所

有jar 包位于dist 目录下)。

2.编写HelloWorld实例

步骤一、建立名为springMVC_01_helloword,并导入上面列出的jar 包。

步骤二、编写web.xml配置文件,代码如下:

1.

2.

3. xmlns:xsi="/xml/ns/javaee

5. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

6.

7. spring

8. org.springframework.web.servlet.Dispatche

rServlet

9. 1

10.

11.

12. spring

13. *.do

14.

15.

16.

17.

复制代码

步骤三、建立spring-servlet.xml文件,它的命名规则:servlet-name-servlet.xml。它的主要代码如下:

1.

2.

3.

4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

5. xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

6. xmlns:util="http://www.springframework.org/schema/util"

7. xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

8. http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

9. http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

10. http://www.springframework.org/schema/util

http://www.springframework.org/schema/util/spring-util-3.0.xsd">

11.

12.

13. class="org.springframework.web.servlet.handler.SimpleUrl

HandlerMapping">

14.

15.

16.

key="/hello.do">helloControl

17.

18.

19.

20.

21.

22.

复制代码

步骤四、完成HelloWord.java的编写,代码如下:

1. package controller;

2.

3. import javax.servlet.http.HttpServletRequest;

4. import javax.servlet.http.HttpServletResponse;

5.

6. import org.springframework.web.servlet.ModelAndView;

7. import org.springframework.web.servlet.mvc.Controller;

8.

9. public class HelloWord implements Controller {

10. public ModelAndView handleRequest(HttpServletRequest request,

HttpServletResponse response)

11. throws Exception {

12. ModelAndView mav = new ModelAndView("hello.jsp");

13. mav.addObject("message", "Hello World!");

14. return mav;

15. }

16. }

17. /*

18. * 说明:ModelAndView对象是包含视图和业务数据的混合对象,即是说通过此对象,我们

可以知道所

19. 返回的相应页面(比如这里返回hello.jsp页面),也可以在相应的页面中获取此对象所

包含的业务数据

20. (比如这里message-hello worrld)。*/

21.

复制代码

步骤五、在当前项目web根目录下编写hello.jsp,主要代码如下:

1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

2. <%

3. String path = request.getContextPath();

4. String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request.getServer

Port()+path+"/";

5. %>

6.

7.

8.

9.

10.

11.

12. My JSP 'hello.jsp' starting page

13.

14.

15.

16.

17.

18.

19.

22.

23.

24.

25.

26. 获取值:${message}

27.

28.

29.

复制代码

步骤六:输入.../hello.do 进行测试。

如http://localhost/springmvc/hello.do

运行的结果是:获取值:Hello World!

4.简析spring mvc工作原理

(1)启动服务器,根据web.xml的配置加载前端控制器(也称总控制器)DispatcherServlet。在加载

时、会完成一系列的初始化动作。

(2)根据servlet的映射请求(上面的helloWorld实例中针对.do 请求),并参照“控制器

篇二:SpringMVC教程

目录

项目目录结构图:............................................................................................................ 2

第一步:准备................................................................................................................... 2

Sprng中的jar包........................................................................................................ 2

Hibernate中的jar包.................................................................................................. 3

其它jar包................................................................................................................. 4

第二步:配置文件............................................................................................................ 5

从hibernate中复制并修改文件.................................................................................. 5

修改hibernate.properties文件 ............................................................................ 6

修改log4j.properties文件 ................................................................................... 6

编写spring配置文件 ................................................................................................. 7

新建applicationContext.xml文件 ......................................................................... 7

新建spring-servlet.xml文件 ................................................................................ 9

修改web.xml文件 ..................................................................................................... 9

第三步:业务逻辑.......................................................................................................... 10

Model层 ................................................................................................................. 10

Dao层..................................................................................................................... 11

Service层 ................................................................................................................ 12

Controller层(Action层) ....................................................................................... 13

View层 ................................................................................................................... 14

第四步:测试................................................................................................................. 15

开启服务器 ............................................................................................................. 15

在浏览器中浏览 ...................................................................................................... 16

运行结果: ............................................................................................................. 16

项目目录结构图:

项目结构图

第一步:准备

Sprng中的jar包

首先从spring官网/retype/zoom/a0cbe2cfaa00b52acfc7ca08?pn=2&x=0&y=7&raww=893&rawh=632&o=png_6_0_0_0_0_0_0_893.25_1263.375&type=pic&aimh=339.7088465845465&md5sum=79fddb2749607507a0c5cad862e0b46f&sign=e523ddd546&zoom=&png=0-15862&jpg=0-0" target="_blank">点此查看

解压得到文件夹:

打开文件夹:

选择如下jar包:

将以上jar包复制到你的/web-INF下的/lib中(以下简称lib)。

Hibernate中的jar包

准备hibernate的jar包,从hibernate官网/retype/zoom/a0cbe2cfaa00b52acfc7ca08?pn=3&x=0&y=7&raww=893&rawh=32&o=png_6_0_0_0_0_0_0_893.25_1263.375&type=pic&aimh=17.200447928331467&md5sum=79fddb2749607507a0c5cad862e0b46f&sign=e523ddd546&zoom=&png=15863-46671&jpg=0-0" target="_blank">点此查看

将此文件夹的jar包全部复制到web项目的lib目录中并将jpa中的jar也复制到lib中。将bytecode中的cglib复制到lib中。分别如图:

其它jar包

以上是hibernate和spring中所要加入的包,除些之外还要加入如下包:

以上是所有的springMVC+hibernate的所需jar包。

将所有jar包复制到web项目的lib目录中。

第二步:配置文件

从hibernate中复制并修改文件

首先从hibernate中的project文件夹中打到etc文件夹,复制其中如图所示的两个文件到classpath下,如图:

2-1

篇三:Spring3.0 MVC 中文教程

Spring3 MVC - 3到Spring MVC框架简介

Spring3 MVC框架简介

Spring MVC是Spring的框架的Web组件。 它提供了丰富的功能,为建设强大的Web应用程序。 Spring MVC框架的架构,并在这样的高度可配置的方式,每一块的逻辑和功能设计。 此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。 这意味着,你甚至可以告诉Spring使用Web框架中的任?a href="http://www.zw2.cn/zhuanti/guanyuwozuowen/" target="_blank" class="keylink">我桓觥?比Spring更不紧耦合的servlet或JSP向客户端呈现视图。 喜欢速度与其他视图技术集成,Freemarker的,Excel或PDF现在也有可能。 Spring3.0 MVC系列

?

?

?

?

?

?

? 处理 教程 第5部分:Spring3 MVC的国际化及本地化教程与范例在 Eclipse 的

在Spring Web MVC,你可以使用任何对象作为命令或表单支持对象,你不需要实现框架特定的接口或基类。 Spring的数据绑定是高度灵活的:例如,将验证错误类型不作为应用系统错误,可以通过评估的不匹配。 因此,你不必重复你的业务对象的属性,简单的无类型的字符串,在表单对象仅仅是为了处理无效的意见,或正确转换的字符串。 相反,它往往是最好直接绑定到业务对象。

请求处理生命周期

Spring的Web MVC框架是,像许多其他Web MVC框架,要求为导向,围绕一个中心的servlet,它把请求分派给控制器,提供其他功能,有利于开发Web应用而设计的。 Spring DispatcherServlet DispatcherServlet是Spring IoC容器完全集成,并允许我们使用的每一个Spring的其他功能。

以下是Spring3.0 MVC请求流程的生命周期:

客户端将请求发送到Web容器中的HTTP请求的形式。

这个传入的请求被截获由前端控制器 (DispatcherServlet的),然后它会试图找出相应的处理程序映射 。

帮助处理程序映射,DispatcherServlet将请求派遣适当的控制器。

控制器尝试处理请求和ModelAndView实例的形式返回到前端控制器模型和视图对象。

前端控制器,然后试图解决咨询视图解析器对象的视图(可以是JSP,FreeMarker的,速度等) 。 选定的视图,然后返回到客户端呈现。

Spring3.0的特点

?

?

?

?

? Spring3.0框架支持Java 5。 它提供了注释的配置支持。 Java 5的功能,例如泛型,注解,可以使用可变参数等在Spring。 正在引进一种新的表达语言The Spring 的表达语言规划环境地政局局长。 Spring的表达式语言可以使用,同时定义了基于XML和注释的bean定义。 Spring3.0框架支持REST Web服务。 数据格式可从来没有那么容易。 Spring 3.0支持了注释的格式。 现在,我们可以使用@ DateFimeFormat(ISO = ISO.DATE)和@NumberFormat(样式= Spring.CURRENCY)标注日期和货币格式转换。 Spring3.0已经开始支持JPA 2.0的。

配置Spring 3.0的MVC

切入点的Spring 3.0 MVC DispatcherServlet 。 DispatcherServlet的是正常的servlet的类,它是HttpServlet的的基类。 因此,我们需要在它web.xml配置。

example

org.springframework.web.servlet.DispatcherServlet

1

example

*.html

在上面的代码片断中,我们必须在web.xml中配置DispatcherServlet的。 请注意,我们已经映射*. HTML URL模式,例如DispatcherServlet的。 因此,任何与*. HTML模式的URL将调用Spring MVC的前端控制器。

一旦DispatcherServlet的初始化,它会查找一个文件名[servlet-name]-servlet.xml Web应用程序的WEB - INF文件夹中。 在上面的例子中,将寻找所谓example-servlet.xml servlet.xml的框架。 请注意上面的架构图。 WebApplicationContext上图中指定ApplicationContext平原扩展Web应用程序所需的一些额外的功能。 在WebApplicationContext是能够解决的主题,它也与相应的servlet相关。 在WebApplicationContext在ServletContext中的约束,并通过对RequestContextUtils类的静态方法,您可以随时查找在WebApplicationContext。

继续

现在,我们有关的Spring 3.0 MVC框架,其生命周期架构的想法, 在接下来的部分中,我们将创建一个工作Spring3.0的 Hello World应用程序从头。

Spring3 MVC:在Spring 3.0 MVC创建Hello World应用程序

Spring3.0 MVC系列的第2部分。 在以前的文章中,我们经历介绍的Spring MVC 3.0框架,其请求处理生命周期和体系结构图。 在这篇文章中,让我们在Spring MVC 3.0创建一个简单的的Hello World应用程序。

对于创建的Hello World演示应用程序,我们将使用Eclipse IDE中。

我们需要的东西

之前,我们与我们的第一个Hello World Struts 2的示例开始,我们将需要一些工具。

1. JDK 1.5以上( 下载 )

2. 以上的Tomcat 5.x的或任何其他容器(Glassfish的中,WebSphere,JBoss的,在Weblogic

等)( 下载 )

3. Eclipse的3.2.x中,它上面的( 下载 )

4. Spring3.0 MVC JAR文件:( 下载 )。 以下是此应用程序所需的JAR文件的清单。

o commons-logging-1.0.4.jar

o jstl-1.2.jar

o org.springframework.asm - 3.0.1.RELEASE - A.jar

o org.springframework.beans - 3.0.1.RELEASE - A.jar

o org.springframework.context - 3.0.1.RELEASE - A.jar

o org.springframework.core - 3.0.1.RELEASE - A.jar

o org.springframework.expression - 3.0.1.RELEASE - A.jar

o org.springframework.web.servlet - 3.0.1.RELEASE - A.jar

o org.springframework.web - 3.0.1.RELEASE - A.jar

请注意,根据Spring MVC的当前版本,上述jar文件的版本号可能会改变。

我们的目标

我们的目标是创建一个基本的Spring MVC应用中使用最新的3.0版本。 将会有一个索引页,它会显示一个链接”打招呼”给用户。 点击此链接,用户将被重定向到另一页打招呼 ,它会显示一条消息的”Hello World,Spring3.0!”。

入门

让我们开始我们的第一个Spring3.0基于MVC的应用程序。

打开Eclipse转到文件- >新建- >项目,然后选择动态Web项目中的新建项目向导屏幕。

选择动态Web项目后,按” 下一步”“ 。

篇四:springMVC教程

目录

SpringMvc教程 ......................................................................................................................... 1

初识springMVC ........................................................................................................................ 1

背景 ....................................................................................................................................... 1

常见MVC框架比较 ......................................................................................................... 2

基于spring3.2的 采用annotation方式搭建springMVC环境......................................... 2

springMVC的RequestMapping的基本设置 ....................................................................... 7

在controller中获取前台传递的参数 ................................................................................. 9

在controller中获取web元素 .......................................................................................... 10

将controller中数据传递到jsp页面................................................................................. 11

设置跳转方式为重定向或者转发 ..................................................................................... 15

视图解析器的配置和使用 ................................................................................................. 15

controller中方法的返回值类型 ........................................................................................ 16

springMVC的文件上传于下载 .......................................................................................... 19

springMVC和jQuery的Ajax结合 .................................................................................... 23

SpringMvc教程

作者:DK

初识springMVC

背景

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

常见MVC框架比较

运行性能上:

Jsp+servlet>struts1>spring mvc>struts2+freemarker>>struts2,ognl,值栈。

Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。

(转载于:www.smhaida.com 海 达 范 文网:spring,mvc,教程)

开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。

基于spring3.2的 采用annotation方式搭建springMVC环境

1、 上官网下载对应的zip包

下载地址为:

http://repo.spring.io/webapp/home.html?0

2、 解压之后得到目录: 当然该zip并非最新的。

打开libs会看到会多jar

这里边包括了所有的jar和source和doc。当然我们只是需要使用jar就可以了。

3、创建空的web项目 目录结构如下:

其中user实体类为:

public class User {

public void setAge(Integer age) { }

this.age = age; public Integer getAge() { } return age; public User(String name, Integer age, Date birth) { } super(); this.name = name; this.age = age; this.birth = birth; public void setName(String name) { } this.name = name; public String getName() { } return name; private String name; private Integer age; private Date birth;

} public Date getBirth() { } public void setBirth(Date birth) { } public User() { } public User(String name) { } @Override public String toString() { } // TODO Auto-generated method stub return "["+name+"]"; super(); this.name = name; super(); // TODO Auto-generated constructor stub this.birth = birth; return birth;

4、在项目中添加如下jar文件: spring-webmvc-3.2.0.RELEASE.jar spring-core-3.2.0.RELEASE.jar spring-context-3.2.0.RELEASE.jar spring-beans-3.2.0.RELEASE.jar spring-web-3.2.0.RELEASE.jar commons-logging.jar

spring-expression-3.2.0.RELEASE.jar 其中commons-logging.jar请单独下载。

5、在web.xml中添加过滤器的配置。

org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring-servlet.xml -class> example 1

篇五:Spring MVC 实战教程

Spring MVC 实战教程

对于现有较成熟的Model-View-Control(MVC)框架而言,其解决的主要问题无外乎下面几部分:

1.将Web页面中的输入元素封装为一个(请求)数据对象。

2.根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。

3.逻辑处理单元完成运算后,返回一个结果数据对象。

4.将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。

各个MVC 实现固然存在差异,但其中的关键流程大致如上。结合一个实例,我们来看看这几个关键流程在Spring MVC框架中的处理手法。

下面的实例,实现了一个常见的用户登录逻辑,即用户通过用户名和密码登录,系统对用户名和密码进行检测,如果正确,则在页面上显示几条通知信息。如果登录失败,则返回失败界面。

新建web工程

引入所需要的jar包,此处我采用的spring的版本为spring-framework-2.5.6。解压后在

dist/modules目录下所有的jar包,另外还需要apache的日志包commons-logging.jar,将这些jar包放于工程下WEB-INF/lib目录下,如图示:

首先来看登录界面

对应的index.html

登录


用户名:
密码:

很简单的一个登录界面,其中包含了一个用以输入用户名密码的form,针对此form的提交将被发送到

"login.do"

接下来在web.xml中做如下配置

Servlet定义

这里我们定义了请求分发Servlet,即:

org.springframework.web.servlet.DispatcherServlet,DispatcherServlet是

Spring MVC 中负责请求调度的核心引擎,所有的请求将由此Servlet 根据配置分发至各个逻辑处理单元。其内部同时也维护了一个ApplicationContext实例。我们在

节点中配

置了名为“contextConfigLocation”的Servlet参数,此参数指定了Spring配置文件的位置“/WEB-INF/Config.xml”。如果忽略此设定,

则默认为“/WEB-INF/-servlet.xml”,其中以Servlet 名替换(在当前环境下,默认值也就是“/WEB-INF/Dispatcher-servlet.xml)。

等。

通过以上设定,Web 服务器将把登录界面提交的请求转交给Dispatcher 处理,Dispatcher将提取请求

(HttpServletRequest)中的输入数据,分发给对应的处理单元,各单元处理完毕后,将输出页面返回给Web服务器,再由Web服务器返回给用户浏览器。Dispatcher 根据什么分发这些请求?显然,我们还需要一个配置文件加以设定。这也就是上面提及的Config.xml,此文件包含了所有的“请求/处理单元”关系映射设定,以及返回时表现层的一些属性设置。 请求映射 我们将所有以.do结尾的请求交给Spring MVC进行处理。当然,也可以设为其他值,如.action、.action

Resolver将把输出结果与输出界面相融合,为表现层提供呈现资源。

View Resolver的viewClass参数这里我们使用JSP页面作为输出,因此,设定为:

org.springframework.web.servlet.view.JstlView其余可选的viewClass还有:

? org.springframework.web.servlet.view.freemarker.FreeMarkerView

(用于基于FreeMarker模板的表现层实现)

?

org.springframework.web.servlet.view.velocity.VelocityView (用于基于velocity模板的表现层实现)

View Resolver的prefix和suffix参数指定了表现层资源的前缀和后缀,运行时,Spring

将为指定的表现层资源自动追加前缀和后缀,以形成一个完整的资源路径

“请求/处理单元”关系映射可以看到,这里我们将“/login.do”请求映射到处理单元

LoginAction。节点下可以有多个映射关系存在,目前我们只定义了一个。

LoginAction定义这里定义了逻辑处理单元LoginAction的具体实现,这里,LoginAction的实现 类为org.nacl.action.LoginAction。

LoginAction的请求数据对象commandClass参数源于LoginAction的基类

BaseCommandController,BaseCommandControlle包含了请求数据封装和验证方法

(BaseCommandController.bindAndValidate),它将根据传入的HttpServletRequest构造请求数据对象。这里我们指定commandClass为org.nacl.action.LoginInfo,这是一个非常普通的Java Bean,它封装了登录请求所需的数据内容:

Spring会根据LoginAction的commandClass定义自动加载对应的LoginInfo实例。之后,对Http 请求中的参数进行遍历,并查找LoginInfo对象中是否存在与之同名的属性,如果找到,则将此参数值复制到LoginInfo对象的同名属性中.请求数据转换完成之后,我们得到了一个封装了所有请求参数的Java 对象,并将此对象作为输入参数传递给LoginAction。

返回视图定义

对于这里的LoginAction而言,有两种返回结果,即登录失败时返回错误界面,登录成功时进入系统主界面。对应我们配置了fail_view、success_view两个自定义参数。参数值将由Resolver进行处理,为其加上前缀后缀,如对于fail_view而言,实际的视图路径为/WEB-INF/view/loginfail.jsp。之后,Resolver 会将LoginAction的返回数据与视图相融合,返回最终的显示界面

业务逻辑处理单元:LoginAction.java

onSubmit方法

我们在子类中覆盖了父类的onSubmit方法;而onSubmit方法用于处理业务请求。负责数据封装和请求分发的Dispatcher,将对传入的HttpServletRequest进行封装,形成请求数据对象,之后根据配置文件,调用对应业务逻辑类的入口方法(这里就是LoginAction)的onSubmit()方法,并将请求数据对象及其他相关资源引用传入。

onSubmit方法包含了两个参数:Object cmd和BindException ex

。前面曾经多次提到请求数据对象,

体裁作文