springmvc经典自学教程Word文件下载.docx

上传人:b****3 文档编号:16444784 上传时间:2022-11-23 格式:DOCX 页数:41 大小:52.49KB
下载 相关 举报
springmvc经典自学教程Word文件下载.docx_第1页
第1页 / 共41页
springmvc经典自学教程Word文件下载.docx_第2页
第2页 / 共41页
springmvc经典自学教程Word文件下载.docx_第3页
第3页 / 共41页
springmvc经典自学教程Word文件下载.docx_第4页
第4页 / 共41页
springmvc经典自学教程Word文件下载.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

springmvc经典自学教程Word文件下载.docx

《springmvc经典自学教程Word文件下载.docx》由会员分享,可在线阅读,更多相关《springmvc经典自学教程Word文件下载.docx(41页珍藏版)》请在冰豆网上搜索。

springmvc经典自学教程Word文件下载.docx

1.<

?

xmlversion="

1.0"

encoding="

UTF-8"

>

2.<

web-appversion="

2.5"

xmlns="

3. 

 

xmlns:

xsi="

http:

//www.w3.org/2001/XMLSchema-instance"

4. 

xsi:

schemaLocation="

5. 

6. 

<

servlet>

7. 

<

servlet-name>

spring<

/servlet-name>

8. 

servlet-class>

org.springframework.web.servlet.DispatcherServlet<

/servlet-class>

9. 

load-on-startup>

1<

/load-on-startup>

10. 

/servlet>

11. 

servlet-mapping>

12. 

13. 

url-pattern>

*.do<

/url-pattern>

14. 

/servlet-mapping>

15.<

/web-app>

16.

17.<

!

--所有请求都要由DispatcherServlet来处理,因此映射到"

/"

上面(包括静态页面),<

不加经测试也未见出错,而且如果要修改spring-servlet.xml的配置位置或名字, 

18. 

可以加<

init-param>

param-name>

contextConfigLocation<

/param-name>

param-value>

/WEB-INF/spring-servlet.xml<

/param-value>

19. 

/init-param>

但一定要放到<

前面,否则xml校验出错(经测试)。

20. 

21. 

简要说明:

DispatcherServlet就是一个Servlet,也是对请求进行转发的核心Servlet。

在这里即所

22.有.do的请求将首先被DispatcherServlet处理,而DispatcherServlet它要作的工作就是对请求进行分

23.发(也即是说把请求转发给具体的Controller)。

可以简单地认为,它就是一个总控处理器,但事实上

24.它除了具备总控处理理器对请求进行分发的能力外,还与spring的IOC容器完全集成在一起,从而可以

25.更好地使用spring的其它功能。

在这里还需留意<

,下面

26.步骤三会用到。

27. 

-->

复制代码

步骤三、建立spring-servlet.xml文件,它的命名规则:

servlet-name-servlet.xml。

它的主要代码如下:

2.

3.<

beansxmlns="

//www.springframework.org/schema/beans"

xmlns:

p="

//www.springframework.org/schema/p"

mvc="

//www.springframework.org/schema/mvc"

context="

//www.springframework.org/schema/context"

util="

//www.springframework.org/schema/util"

//www.springframework.org/schema/beanshttp:

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

//www.springframework.org/schema/contexthttp:

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

//www.springframework.org/schema/mvchttp:

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

//www.springframework.org/schema/utilhttp:

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

11.

beanid="

simpleUrlHandlerMapping"

class="

org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"

propertyname="

mappings"

15. 

props>

16. 

propkey="

/hello.do"

helloControl<

/prop>

--说明:

hello.do的请求将给名为helloControl的bean进行处理。

-->

17. 

/props>

/property>

/bean>

helloControl"

controller.HelloWord"

21.<

/beans>

22.

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

1.packagecontroller;

3.importjavax.servlet.http.HttpServletRequest;

4.importjavax.servlet.http.HttpServletResponse;

5.

6.importorg.springframework.web.servlet.ModelAndView;

7.importorg.springframework.web.servlet.mvc.Controller;

8.

9.publicclassHelloWordimplementsController{

publicModelAndViewhandleRequest(HttpServletRequestrequest,HttpServletResponseresponse)

throwsException{

ModelAndViewmav=newModelAndView("

hello.jsp"

);

mav.addObject("

message"

"

HelloWorld!

"

returnmav;

}

17./*

18.*说明:

ModelAndView对象是包含视图和业务数据的混合对象,即是说通过此对象,我们可以知道所

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

20.(比如这里message-helloworrld)。

*/

21.

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

%@pagelanguage="

java"

import="

java.util.*"

pageEncoding="

%>

%

3.Stringpath=request.getContextPath();

4.StringbasePath=request.getScheme()+"

:

//"

+request.getServerName()+"

+request.getServerPort()+path+"

;

5.%>

6.

7.<

DOCTYPEHTMLPUBLIC"

-//W3C//DTDHTML4.01Transitional//EN"

8.<

html>

head>

basehref="

%=basePath%>

title>

MyJSP'

hello.jsp'

startingpage<

/title>

metahttp-equiv="

pragma"

content="

no-cache"

cache-control"

expires"

0"

keywords"

keyword1,keyword2,keyword3"

description"

Thisismypage"

--

linkrel="

stylesheet"

type="

text/css"

href="

styles.css"

23. 

/head>

24. 

25. 

body>

26. 

获取值:

${message}

/body>

28.<

/html>

29.

步骤六:

输入.../hello.do进行测试。

如http:

//localhost/springmvc/hello.do

运行的结果是:

获取值:

4.简析springmvc工作原理

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

在加载

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

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

件”(即spring-servlet.xml这样的配置)文件,把具体的请求分发给特定的后端控制器进行处理(比

如上例会分发给HelloWorld控制器进行处理)

(3)后端控制器调用相应的逻辑层代码,完成处理并返回视图对象(ModelAndView)给前端处理器。

(4)前端控制器根据后端控制器返回的ModelAndView对象,并结合一些配置(后面有说明),返回一

个相应的页面给客户端。

小结:

这种FrontController模式常应用在主流的web框架中,比如典型的struts1.x框架.Front

Controller模式:

所有请求先交给一个前端处理器(总控处理器)处理,然后前端处理器会参照一些配

置文件再把具体的请求交给相应的后端处理器。

后端处理器调用逻辑层代码,并根据逻辑返回相应的视

图对象给前端控制器。

然后前端控制器再根据视图对象返回具体的页面给客户端(提示:

和springmvc

一样,在struts1.x中前端控制器是Servlet,而在struts2中前端控制器是Filter)。

概述Front

前端控制器预处理并分发请求给后端控制器,后端控制器进行真正的逻辑处理并返回

视图对象,前端控器器根据视图对象返回具体页面给客户端。

5.初识springmvc的视图

在前面的HelloWorld实例中,在HelloWorld.java中返回ModelAndViewmav=newModelAndView(

)参数为hello.jsp,它会对应于当前项目根目录下的hello.jsp页面。

但springmvc为我们提供了

一个特别的视图定位方式,下面改进前面的HelloWord实例:

改进一:

在spring-servlet.xml中增加如下代码:

viewResolver"

org.springframework.web.servlet.view.InternalResourceViewResolver"

prefix"

value="

/WEB-INF/page/"

/>

suffix"

.jsp"

4.<

改进二:

在HelloWorld.java重新定义返回的ModelAndView对象,即把ModelAndViewmav=new

ModelAndView("

)改为ModelAndViewmav=newModelAndView("

hello"

改进三:

在/WEB-INF/page目录下建立hello.jsp页面

进行上面三个改进操作后,重新访问hello.do会访问到WEB-INF/page/hello.jsp页面。

简析视图定位:

当返回ModelAndView对象名称为hello时,会给hello加上前后缀变成

/WEB-INF/page/hello.jsp。

因此在给前后缀赋值时,应特别注意它和返回的ModelAndView对象能否

组成一个正确的文件全路径。

在前面的“简析springmvc工作原理(4)”点中提到在根

据ModelAndView对象返回页面时,会结合一些配置。

这里就是结合了视图定位方式,给viewName

加上前后缀进行定位

springmvc学习教程

(二)-后端控制器(上)

1.概述SpringMVC后端控制器

为了方便开发人员快捷地建立适合特定应用的后端控制器,springMVC实现Controller接口,自定义了许多特定控制器。

这些控制器的层次关系如下:

-AbstractController

-AbstractUrlViewController

-UrlFilenameViewController

-BaseCommandController

-AbstractCommandController

-AbstractFormController

-AbstractWizardFormController

-SimpleFormController

-CancellableFormController

-MultiActionController 

-ParameterizableViewController

-ServletForwardingController

-ServletWrappingController

下面重点分析两个特色控制器:

2.SimpleFormController控制器

在正式开发前,请先熟悉上前面的HelloWord实例。

在保证熟悉前一个实例后,我们建立名为springMVC_02_controllerweb项目,并导入相关的jar包。

步骤一:

建立后端控制器RegControl.java代码如下:

6.importorg.springframework.validation.BindException;

7.importorg.springframework.web.servlet.ModelAndView;

8.importorg.springframework.web.servlet.mvc.SimpleFormController;

9.

10.publicclassRegControlextendsSimpleFormController{ 

@SuppressWarnings("

deprecation"

) 

publicRegControl(){ 

setCommandClass(User.class);

protectedModelAndViewprocessFormSubmission(HttpServletRequestarg0,HttpServletResponsearg1, 

Objectformbean,BindExceptionarg3)throwsException{ 

Useruser=(User)formbean;

user"

user);

22. 

protectedModelAndViewshowForm(HttpServletRequestarg0,HttpServletResponsearg1,BindExceptionarg2) 

throwsException{ 

returnnull;

28. 

29.} 

User.java,代码如下:

3.publicclassUser{ 

privateStringusername;

privateintage;

publicStringgetUsername(){

returnusername;

}

publicvoidsetUsername(Stringusername){

this.username=username;

publicintgetAge(){

returnage;

publicvoidsetAge(intage){

this.age=age;

19.} 

如果熟悉struts1.x相信很容易理解Objectformbean参

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1