Spring MVC
请叫我大虾
这个作者很懒,什么都没留下…
展开
-
springmvc和tomcat原理
web项目,如果每个请求动作都创建一个servlet,比如登陆servlet,退出servlet,那么就会创建很多servlet。这样的项目就很冗杂。所以引入了springmvc,封装出一个servlet。DispatcherServlet。原创 2020-09-22 00:04:42 · 555 阅读 · 0 评论 -
springmvc三十二:spring mvc的运行流程
1. 所有的请求,前端控制器(DispatcherServlet)收到请求,调用doDispatch进行处理2. 根据HandlerMapping中保存的请求映射信息找到,处理当前请求的,处理器执行链(包含了拦截器)。3. 根据当前处理器找到他的HandlerAdapter(适配器)4. 拦截器的preHandle方法先执行5. HandlerAdapter(适配器)执行目标方法,...原创 2019-11-08 09:56:32 · 199 阅读 · 0 评论 -
springmvc三十一:spring mvc整体结构
原创 2019-11-01 14:01:23 · 199 阅读 · 0 评论 -
springmvc三十:异常处理流程
handlerExceptionResolvers 异常解析也是springmvc的9大组件之一。DispatcherServlet.properties中默认的异常解析如下:org.springframework.web.servlet.HandlerExceptionResolver= org.springframework.web.servlet.mvc.method...原创 2019-10-20 09:39:27 · 284 阅读 · 0 评论 -
《看透springmvc源码分析与实践》读书笔记一
解决速度问题的核心是解决海量数据操作问题和高并发问题。网站复杂的架构就是从这两个问题演变出来的。海量数据的解决方案: 1. 缓存和页面静态化 将从数据库获取的数据暂时保存起来,在下次使用的时候无需重新到数据库中获取,这样可以大大降低数据库的压力。 缓存可以通过程序直接保存到内存中(使用Map,尤其是使用ConcurrentHashMap)和使用缓存框架(Eh...原创 2019-09-25 10:33:40 · 279 阅读 · 0 评论 -
springmvc二十三:日期格式化
使用@DateTimeFormat(pattern="yyyy-MM-dd"), 可以规定页面提交的日期格式package com.atchina.pojo;import java.util.Date;import org.springframework.format.annotation.DateTimeFormat;public class Employee { priv...原创 2019-09-03 22:26:26 · 333 阅读 · 0 评论 -
springmvc二十二:annotation-driven标签
加上 <mvc:default-servlet-handler/>, 不加<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>,可以访问静态资源, 不能访问动态资源. 两个都配置了,那么静态资源,动态资源就都可以访问了。&l...原创 2019-09-01 20:25:33 · 254 阅读 · 0 评论 -
springmvc二十一:自定义类型转换器
ConversionService:是一个接口; 它里面有一个Converter(转换器)进行工作 ①实现一个Converter接口,写一个自定义的类型转换器 ②Converter是ConversionService中的组件。 自定义Converter得放进ConversionService中, 同时将WebDataBinder中的Conversi...原创 2019-09-01 11:38:14 · 203 阅读 · 0 评论 -
springmvc二十:数据绑定
数据绑定思想和原理 javaBean要和页面提交的数据一一绑定。 页面提交的所有数据都是字符串。牵扯到的问题: 1).数据绑定期间的数据类型转换? 比如 String-->Integer, String--->boolean 2).数据绑定期间的数据格式化问题. 3).数据校验问题, 页面提交的数据必须要合法. 前端校验(js...原创 2019-08-27 21:48:21 · 252 阅读 · 0 评论 -
《看透springmvc源码分析与实践》读书笔记二
域名服务器DNS 专门将域名解析为IP的服务器。TCP/IP协议 tcp在传输之前会进行三次沟通,一般称为"三次握手", 传完数据断开的时候要进行四次沟通,一般称为"四次挥手"。...原创 2019-09-27 16:09:17 · 230 阅读 · 0 评论 -
springmvc二十四:自定义国际化信息
springmvc中区域信息是由区域信息解析器得到的。private LocaleResolver localeResolver 默认会用一个AcceptHeaderLocaleResolver自定义区域信息解析器import java.util.Locale;import javax.servlet.http.HttpServletRequest;import j...原创 2019-10-07 00:27:34 · 328 阅读 · 0 评论 -
springmvc二十五:springmvc支持ajax
1. 导包jackson-annotations-2.1.5.jarjackson-core-2.1.5.jarjackson-databind-2.1.5.jar2. 配置// 将返回的数据放在响应体中 // 如果返回的数据是对象,jackson包会自动将对象转为json格式 @ResponseBody @RequestMapping("/getall") pub...原创 2019-10-07 20:40:49 · 191 阅读 · 0 评论 -
springmvc二十六:springmvc-requestBody获取请求体, 与HttpEntity获取请求头
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+reques...原创 2019-10-07 22:11:36 · 1277 阅读 · 0 评论 -
springmvc二十七:springmvc-ResponseBody与ResponseEntity
// @ResponseBody 将返回的数据放在响应体中 // 如果返回的数据是对象,jackson包会自动将对象转为json格式 @ResponseBody @RequestMapping("/getall") public Collection<Employee> ajaxGetAll(){ Collection<Employee> all = empl...原创 2019-10-09 17:13:01 · 230 阅读 · 0 评论 -
springmvc二十八:springmvc使用common-fileUpload实现文件上传
springmvcjar包 commons-fileupload-1.2.1,commons-io-1.3.2前台: <form action="hello" method="post" enctype="multipart/form-data"> <h1>使用spring mvc提供的类的方法上传文件</h1> &...原创 2019-10-10 16:38:11 · 301 阅读 · 0 评论 -
springmvc二十九:拦截器
Springmvc提供了拦截器机制; 允许运行目标方法之前进行一些拦截工作,或者目标方法运行之后进行一些其他处理。Filter(过滤器)是javaweb定义的。拦截器是springmvc定义的。preHandle: 在目标方法运行之前调用; 返回boolean;postHandle:在目标方法运行之后调用afterCompletion:在请求整个完成之后;来到目...原创 2019-10-11 10:17:02 · 779 阅读 · 0 评论 -
springmvc十四:请求处理
传入原生api@RequestMapping(value="handle2") public String handle02(HttpSession session, HttpServletRequest request){ session.setAttribute("seParam", "我是sesssion域中的"); request.setAttribute("reParam...原创 2019-08-18 09:59:13 · 213 阅读 · 0 评论 -
springmvc十三:REST风格增删改查
如果从页面发起PUT,DELETE请求? spring提供了对rest风格的支持. 1). SpringMVC中有一个Filter,他可以把普通的请求转换为规定形式的请求,要配置一个filter <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filt...原创 2019-08-17 00:50:51 · 349 阅读 · 0 评论 -
springmvc十六:视图解析
spring.xml配置视图解析器如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m...原创 2019-08-21 19:56:49 · 254 阅读 · 0 评论 -
springmvc六:使用Servlet原生api作为参数
package com.atChina.controller;import java.io.IOException;import java.io.Writer;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springf...原创 2019-04-20 20:33:35 · 297 阅读 · 0 评论 -
springmvc七:处理模型数据
ModelAndViewpackage com.atChina.controller;import java.io.IOException;import java.io.Writer;import java.util.Date;import javax.servlet.http.HttpServletRequest;import javax.servlet.ht...原创 2019-04-21 16:04:39 · 230 阅读 · 0 评论 -
Jsp-request与requestScope的区别
(1)request对象通常用来接收从客户端通过表单提交过来的数据,然后在servlet或者action中用request.getParameter()的方法获取获取参数内容;(2)而requestScope通常是在servlet和action中通过request.setAttribute()方法把数据放到request对象中供客户端获取,然后客户端获取的方法就是requestScope.ge...转载 2019-04-21 17:55:58 · 432 阅读 · 0 评论 -
springmvc八:ModelAttribute注解
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName...原创 2019-04-21 18:11:56 · 233 阅读 · 0 评论 -
springmvc一:编写简单的HelloWorld
1. 在web.xml中配置 DispatcherServlet.<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-...原创 2019-04-14 21:42:53 · 252 阅读 · 0 评论 -
springmvc二: @RequestMapping
spring mvc 使用 @RequestMapping注解为控制器指定可以处理哪些URL请求.@RequestMapping 不仅可以修饰方法,也可以修饰类. 类定义处: 提供初步的请求映射信息,相对于WEB应用的根目录. 方法定义处: 提供进一步的细分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping...原创 2019-04-15 12:26:18 · 311 阅读 · 0 评论 -
springmvc三: REST
web.xml中配置过滤器<filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class...原创 2019-04-18 23:49:40 · 231 阅读 · 0 评论 -
springmvc四: @RequestParam, @RequestHeader,@CookieValue
@RequestParampackage com.atChina.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bin...原创 2019-04-20 14:43:10 · 252 阅读 · 0 评论 -
springmvc九:spring mvc 简单介绍
1)spring 为展现层提供的基于mvc设计理念的优秀的web框架,是目前最主流的mvc框架之一。2)spring mvc通过一套mvc注解,让pojo成为处理请求的控制器,而无需实现任何接口。3)支持REST风格的URL请求。4)采用了松散耦合可插拔组件结构,比其他mvc框架更具扩展性和灵活性。...原创 2019-07-25 22:45:29 · 213 阅读 · 0 评论 -
springmvc十五:数据输出
数据输出-- 传入Map,Model或者ModelMappackage com.atchina;import java.util.Map;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.ui.ModelMa...原创 2019-08-18 16:56:05 · 206 阅读 · 0 评论 -
springmvc十一: @RequestMapping-ant风格的url
consumes: 只接受内容类型是哪种的请求,规定请求头中的Content-typeproduces: 告诉浏览器返回的内容是什么,给响应头中加上Content-type:text/html;charset=utf-8...原创 2019-08-14 20:12:18 · 227 阅读 · 0 评论 -
springmvc十七:自定义视图和自定义视图解析器
自定义视图和视图解析器的步骤: 1).编写自定义的视图解析器,和视图实现类。 自定义的视图要实现View对象public class MyView implements View{ @Override public String getContentType() { return "text/html"; } @Override public void re...原创 2019-08-23 22:51:23 · 297 阅读 · 0 评论 -
springmvc十: @RequestMapping其他参数
params ①params={"username"}, 请求参数中必须有一个username,否则就会404, 比如http://localhost:8083/1springmvc_helloworld/hello2?username=123// 请求的参数中必须带一个username @RequestMapping(value="/hello2", params={"u...原创 2019-08-11 22:28:55 · 216 阅读 · 0 评论 -
springmvc十八:RestfulCRUD增删改查小实战
水浒好汉列表展示: 查询所有好汉 水浒好汉列表展示:访问index.jsp---->直接发送/emps---->控制器查询所有好汉---->将数据放在请求域中----->转发到list页面展示 添加好汉: 在list页面点击"添加好汉"------>来到添加页面(add.jsp)------->输入员工数据--------->点击保...原创 2019-08-25 12:10:16 · 437 阅读 · 0 评论 -
springmvc十二:@PathVariable
@PathVariable映射URL绑定的占位符。通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{XXX}占位符可以通过@PathVariable("XXX")绑定到操作方法的入参中。// 路径上可以有占位符, 占位符语法可以在任意路径的地方写一个{变量名} //路径上的占位符只能占一层路径 @RequestMapping("/User...原创 2019-08-15 23:38:26 · 255 阅读 · 0 评论 -
springmvc五:使用pojo作为参数
将pojo中的每一个属性,从request参数中尝试取出来,并封装即可。1. jsp页面中使用pojo中的属性作为input的name属性<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%String path = request.getContextPat...原创 2019-04-20 20:31:06 · 485 阅读 · 0 评论