博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
About Spring MVC
阅读量:7048 次
发布时间:2019-06-28

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

一、简介

1.Springmvc是什么

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

 

2.  Springmvc 架构图

3.springmvc重要组件

1、DispacherServlet前端控制器

负责用户请求和响应,是一个中央控制器(调度),调用HandlerMapping查找Handler,调用HandlerAdapter处理器适配器执行Handler,调用ViewResolver视图解析器去解析视图,有了DispacherServlet有利于框架扩展,减少了各各组件之间耦合性。

 

2、HandlerMapping处理器映射器

不需要开发,使用框架提供的

负责查找Handler(常用action),通过xml配置方式或注解方式将Handler类和request请求Handler链接地址进行对应配置。

 

3、HandlerAdapter处理器适配器

不需要开发,使用框架提供的

Springmvc提供了很多种适配器,注解适配器支持注解开发、原始servlet适配器(HanderRequestAdapter)支持原始servlet的执行。

负责执行Handler,适配器是按照一定的规则去执行Handler,调用Handler返回的结果是ModelAndView,ModelAndView将Model和view封装起来(模型数据和视图)

 

4、ViewResolver视图解析器

不需要开发,使用框架提供的

负责进行视图解析,返回View,框架执行很多类型的View(jstlView、pdfView....)

 

5、Handler处理器(需要开发)

需要开发,按照适配器的规则开发,比如适配器要求Handler实现某个接口,Handler必须实现接口。

 

6、View视图页面(jsp) (需要开发)

需要开发,jsp+jstl。为了视图通用性建议使用第三方框架,jstl。

注:处理器映射器、处理器适配器、视图解析器称为springmvc的三大件

 

二、配置(入门示例)

Spring MVC环境搭建

1.导入jar包

 

2.web.xml的配置

1 
2
7
8 9
10
11
welcome
12
org.springframework.web.servlet.DispatcherServlet
13
17
18
1
19
20
21
welcome
22
23
/
24
25 26
27
index.jsp
28
29

3.welcome-servlet.xml配置

1 
2
12 13
15 16
17
18
19
21
22
23 24

4.编写controller类

1 package cn.jbit.Controler; 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.AbstractController; 8  9 public class WelcomeControler extends AbstractController{10 11     @Override12     protected ModelAndView handleRequestInternal(HttpServletRequest arg0,13             HttpServletResponse arg1) throws Exception {14         System.out.println("hello");15         return new ModelAndView("Welcome");16     }17     18 }

5.jsp页面

1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7  8  9   10     11     12     My JSP 'index.jsp' starting page13     
14
15
16
17
18
21 22 23 24 welcome!
25 26

最后将SpringMVC部署到tomcat服务器上 然后运行 在浏览器中输入访问地址 就可以看到前台显示jsp页面 后台打印字符串了

 

三、HTTP协议

1.HTTP 简介

HTTP(Hypertext Transfer Protocol,超文本传输协议①)是在万维网上进行通信时

所使用的协议方案。HTTP 有很多应用,但最著名的是用于Web 浏览器和Web 服

务器之间的双工通信。

2.HTTP报文

报文组成

起始行

报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说

明出现了什么情况。

首部字段

起始行后面有零个或多个首部字段。每个首部字段都包含一个名字和一个值,为

了便于解析,两者之间用冒号(:)来分隔。首部以一个空行结束。添加一个首

部字段和添加新行一样简单。

主体

空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括

了要发送给Web 服务器的数据;响应主体中装载了要返回给客户端的数据。起

始行和首部都是文本形式且都是结构化的,而主体则不同,主体中可以包含任意

的二进制数据(比如图片、视频、音轨、软件程序)。当然,主体中也可以包含

文本

3.请求实例

一些常见的HTTP方法

GET 从服务器向客户端发送命名资源

PUT 将来自客户端的数据存储到一个命名的服务器资源中去

DELETE 从服务器中删除命名资源

POST 将客户端数据发送到一个服务器网关应用程序

HEAD 仅发送命名资源响应中的HTTP 首部

 

四、注解

@Controller注解 @Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示

 

@RequestMapping注解 @RequestMapping可以用在类定义和方法定义上,它标明这个类或方法与哪一个客户请求对应

如下示例:

1 @Controller 2 public class HelloControler { 3  4     @RequestMapping(value = "/hello") 5     public String hello(String username, Model model) { 6         System.out.println("欢迎"+username); 7         model.addAttribute("username",username); 8         return "Welcome"; 9     }10

为了使注解生效 还需要在xml中进行配置,代码如下:

 1 <context:component-scan base-package="cn.jbit.Controler" /> 2 <mvc:annotation-driven /> 

 

最后再重新运行项目 测试一下就行了

    

 

                                                                                       END.

 

转载于:https://www.cnblogs.com/wjk921/p/5333817.html

你可能感兴趣的文章
再说rocketmq消息存储
查看>>
16年国庆假期期间兼职所悟
查看>>
javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Emp实体类...
查看>>
Spring知识点
查看>>
PHP中array
查看>>
Android经典应用软件大全
查看>>
新浪微博布局学习——妙用TabHost
查看>>
linkin大话设计模式--简单工厂
查看>>
关于腾讯微博之死,离职员工所了解的真相
查看>>
ExtJs之列表(grid)
查看>>
python atexit模块和register函数
查看>>
EL 和 JSTL 的使用
查看>>
ios开发之c语言基础-结构体经典题目
查看>>
win8安装python环境和pip & easy_install工具
查看>>
第一次写博客
查看>>
CSS Media Queries响应式布局
查看>>
P1451 求细胞数量(广搜)
查看>>
什么是构造函数
查看>>
SaltStack入门到精通第一篇:安装SaltStack
查看>>
HTTP的长连接和短连接
查看>>