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

本文共 3354 字,大约阅读时间需要 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

 

 

 

 

 

转载地址:http://mdiux.baihongyu.com/

你可能感兴趣的文章
Mysql备份系列(1)--备份方案总结性梳理
查看>>
[CareerCup] 1.6 Rotate Image 翻转图像
查看>>
Python中的画图初体验
查看>>
Java程序员的日常 —— 响应式导航Demo
查看>>
objective-c内存管理基础
查看>>
sap关于价值串的说法(转载)
查看>>
Migration to S/4HANA
查看>>
sed 对目录进行操作
查看>>
什么是代码
查看>>
移动端开发单位——rem,动态使用
查看>>
系列文章目录
查看>>
手把手教你如何提高神经网络的性能
查看>>
前端布局原理涉及到的相关概念总结
查看>>
递归调用 VS 循环调用
查看>>
使用sstream读取字符串中的数字(c++)
查看>>
树莓派下实现ngrok自启动
查看>>
javascript静态类型检测工具—Flow
查看>>
MachineLearning-Sklearn——环境搭建
查看>>
node学习之路(二)—— Node.js 连接 MongoDB
查看>>
Goroutine是如何工作的?
查看>>