博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC(一)
阅读量:6582 次
发布时间:2019-06-24

本文共 3406 字,大约阅读时间需要 11 分钟。

主要进行了如下配置:

1、 前端控制器DispatcherServlet;

2、 HandlerMapping

3、 HandlerAdapter

4、 ViewResolver

5、 处理器/页面控制器

6、 视图

 

Spring Web MVC处理请求的流程

 

 

具体执行步骤如下:

1、  首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;

2、  页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;

3、  前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;

4、  前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。

 

 

 

例子

 

1、配置web.xml

hello
org.springframework.web.servlet.DispatcherServlet
1
hello
/
CharacterFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
CharacterFilter
/*

load-on-startup:表示启动容器时初始化该Servlet;

url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。

 

 

 

2、配置Hello-servlet.xml管理Spring的配置

(名称必须与web.xm文件中的servlet-name相同,放到web-inf下) 

prefix前缀:处理后转到/WEB-INF/jsp/目录下的jsp页面

surfix后缀:视图页面是以.jsp结尾的jsp文件

 <bean name="welcome.html" class="zttic.itat.controller.WelcomeController"></bean> 

当用户在客户端请求访问welcome.html时,对应的Controller处理器处理这个请求,并转到相应页面

 

 

3、新建一个Controller类:WelcomeController.java

package zttc.itat.controller;  import javax.servlet.http.HttpServletRequest;  public class WelcomeController extends AbstractController{      @Override      protected ModelAndView handleRequestInternal(httpServletRequest request,                     httpServletResponse response) throws Exception{              System.out.println("welcome");              return new ModelAndView("welcome");      }  }
return new ModelAndView("welcome"):就是转到/WEB-INF/jsp/目录下welcome.jsp页面

 

 

4、在WEB-INF目录下新建一个jsp文件夹,在jsp文件夹下新建一个welcome.jsp文件

  

welcome!!

 

 

二、使用注解annotation开发(推荐这种方式)

1、web.xml

   同上

2、hello-servlet.xml

//这两句是打开annotation
//

 

3、创建控制器,新建HelloController.java

在这里完成controller和viewer的映射

package zttc.itat.controller;  import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;    @Controller  public class HelloController{      //RequestMapping表示用哪个URL来对应      @RequestMapping{
{"/hello","/"}} public String hello(){ System.out.println("hello"); return "hello"; } @RequestMapping{
{
"/welcome"}} public String welcome(){ System.out.println("welcome"); return "welcome"; } }

@Controller:用于标识是处理器类;

@RequestMapping:请求到处理器功能方法的映射规则;

 

 

4、jsp目录下创建hello.jsp

 

 

 

 

 

转载于:https://www.cnblogs.com/Donnnnnn/p/5745775.html

你可能感兴趣的文章
war 宽度变窄
查看>>
set p4 environment in windows
查看>>
pl/sql development 查询的数据复制到excel
查看>>
自定义指令的参数
查看>>
python实现进度条
查看>>
Android 一个应用启动另一个应用的说明
查看>>
阿里云CentOS7服务器利用LVM分区挂载磁盘全记录
查看>>
Setting up the Web Admin Tool in LDAP 6.x to communicate via SSL
查看>>
SQL好习惯:编写支持可搜索的SQL
查看>>
Shadowbox
查看>>
【 程 序 员 】:伤不起的三十岁,你还有多远 ?
查看>>
openldap安装
查看>>
[leetcode]count and say
查看>>
润乾报表 - 缓存问题
查看>>
利用IFormattable接口自动参数化Sql语句
查看>>
泛型Dictionary的用法详解
查看>>
明晰三种常见存储技术:DAS、SAN和NAS
查看>>
ContentProvider简单介绍
查看>>
Visual Studio 2014 CTPs 下载 和C# 6.0 语言预览版介绍
查看>>
js混淆 反混淆 在线
查看>>