
SpringMVC
文章平均质量分 67
SpringMVC相关内容
煎丶包
这个作者很懒,什么都没留下…
展开
-
注解方式的异步请求
一、Servlet3.0异步请求@WebServlet(value = "/async", asyncSupported = true)public class HelloAsyncServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {原创 2021-06-03 12:08:50 · 205 阅读 · 1 评论 -
注解方式整合SpringMVC
一、整合SpringMVC分析web容器在启动的时候,会扫描每个jar包下的META-INF/services/javax.servlet.ServletContainerInitializer文件,加载这个文件里面指定的类SpringServletContainerInitializerspring的应用一启动就会加载WebApplicationInitializer接口下的所有组件并创建对象WebApplicationInitializer接口下有三个抽象类AbstractContextL原创 2021-06-03 10:12:13 · 375 阅读 · 1 评论 -
整合SSM框架
一、Web.xml配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.原创 2021-05-11 14:48:00 · 121 阅读 · 0 评论 -
SpringMVC与Spring整合
一、框架整合把SpringMVC和Spring框架整合的目的就是为了使得框架分工明确。SpringMVC的配置文件用来配置和网站转发逻辑以及网站功能(视图解析器、文件上传解析器、支持Ajax等等)。Spring配置文件用来配置与业务有关的功能(事务控制,数据源,等等)。二、SpringMVC和Spring分容器在springMVC.xml文件中可以引入另一个配置文件,但是这样服务器一启动,只有一个IOC容器,即合并以后的大IOC容器。<import resource="spring.原创 2021-05-06 16:48:07 · 416 阅读 · 0 评论 -
SpringMVC执行的流程
执行流程所有的请求,前端控制器DispatcherServlet收到请求,调用doDispatch()方法进行处理。调用getHandler()方法,根据HandlerMapping中保存的请求映射信息找到,可以处理当前请求的处理器执行链,执行链包括目标方法、拦截器。根据当前处理器找到该类的HandlerAdapter适配器。拦截器的preHandler()方法先执行。然后适配器再执行目标方法。有@ModelAttribute标注的方法会提前于目标方法执行。执行目标方法的时候要确定目标方法用的参原创 2021-05-06 14:33:39 · 157 阅读 · 3 评论 -
SpringMVC的异常处理
一、异常处理SpringMVC通过HandlerExceptionResolver处理程序的异常,包括Handler映射、数据绑定以及目标方法执行时发生的异常。HandlerExceptionResolver接口,九大组件之一SpringMVC提供的HandlerExceptionResolver的实现类二、异常处理源码分析processHandlerException()方法使用异常解析器处理异常如果所有的异常解析器都不能处理就直接把异常抛出去,抛给了Tomcat,所以就跳转到了错原创 2021-05-06 13:46:26 · 226 阅读 · 0 评论 -
SpringMVC中的拦截器
一、拦截器SpringMVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口preHandle目标方法运行之前调用 default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return true; }postH原创 2021-05-05 09:58:30 · 226 阅读 · 0 评论 -
SpringMVC实现文件上传
一、文件上传提交表单数据 <%--文件上传--%> <form action="" method="post" enctype="multipart/form-data"> 用户头像:<input type="file" name="img"/> 用户名:<input type="text" name="username"/> <input type="submit"> </form>在Spri原创 2021-05-04 20:44:27 · 86 阅读 · 0 评论 -
HttpMessageConverter接口
一、HttpMessageConverter<T>接口HttpMessageConverter<T>接口负责将请求信息转换为一个对象(类型为T),将对象(类型为T)输出为响应信息。boolean canRead(Class<?> var1, @Nullable MediaType var2)指定转换器可以读取的对象类型,即转换器是否可将请求信息转换为clazz类型的对象,同时指定支持MIME类型(text/html,application/json等)。原创 2021-05-04 17:53:18 · 437 阅读 · 0 评论 -
SpringMVC实现文件下载
使用ResponseEntity返回响应的文件流,实现文件下载 @RequestMapping("/download") public ResponseEntity<byte[]> download(HttpServletRequest request) throws IOException { //1、得到要下载的文件的流 //找到要下载的文件的真是路径 ServletContext servletContext原创 2021-05-04 17:16:24 · 391 阅读 · 0 评论 -
SpringMVC中使用Ajax技术(结合注解实现数据封装)
一、SpringMVC使用Ajax导入有关jar包编写处理器,使用@ResponseBody@Controllerpublic class AjaxTestController { @Autowired private EmployeeService employeeService; @ResponseBody //这个注解是将返回的数据放在响应体重,如果是对象,jackson包自动将对象转为json格式 @RequestMapping("/ajax原创 2021-05-04 16:36:26 · 586 阅读 · 1 评论 -
SpringMVC数据校验
一、数据校验数据校验只做前端校验是不安全的,需要在重要的数据的加上后端校验。我们可以写一段程序将每一个数据取出并进行校验,除此之外SpringMVC可以使用JSR303来做数据校验。JSR303是Java为Bean数据合法性校验提供的标准框架,它可以通过在Bean属性上标注注解来指定校验规则,并通过标准的验证接口对Bean进行验证。给Employee类的属性添加校验注解public class Employee { private Integer id; @NotEmpty @Length原创 2021-05-03 21:28:38 · 908 阅读 · 1 评论 -
SpringMVC数据绑定
一、数据绑定页面提交的数据都是字符串,要想和JavaBean进行一一绑定就会牵扯到数据绑定期间的数据类型转换、数据格式化、数据校验的问题。数据绑定发生在ModelAttributeMethodProcessor这个类中的bindRequestParameters(binder, webRequest)方法,这个方法将页面提交过来的数据封装到JavaBean的属性中,封装期间可能会有数据类型转换、数据格式化、数据校验的问题。 public final Object resolveArgument(原创 2021-05-03 18:05:41 · 557 阅读 · 3 评论 -
SpringMVC如何解析视图
一、解析视图流程不管请求处理方法返回值类型是什么,都会封装成一个ModelAndView返回,然后通过ViewResolve解析器得到一个View对象,通过View对象去渲染页面。二、视图和视图解析器请求处理方法执行完成后,最终返回一个 ModelAndView 对象。对于那些返回 String,View 或 ModelMap 等类型的处理方法,SpringMVC也会在内部将它们装配成一个 ModelAndView 对象,它包含了逻辑名和模型对象的视图。SpringMVC借助视图解析器(Vie原创 2021-05-02 11:33:10 · 393 阅读 · 0 评论 -
SpringMVC视图源码解析
一、视图解析流程任何方法的返回值,最终都会被包装成ModelAndView对象mv = ha.handle(processedRequest, response, mappedHandler.getHandler());视图渲染就是将域中的数据在页面展示,页面就是用来渲染模型数据的processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException); private void proces原创 2021-05-01 22:19:34 · 165 阅读 · 1 评论 -
DispatcherServlet前端控制器结构分析
一、DispatcherServlet源码结构二、DispatcherServlet类中doDispatch()方法其中最重要的两个方法是ha.handle()执行目标方法,processDispatchResult()转发到页面 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest proc原创 2021-05-01 20:01:25 · 293 阅读 · 1 评论 -
SpringMVC处理数据输出
一、 使用ModelAndVIew处理模型数据控制器处理方法的返回值如果为ModelAndView, 则其既包含视图信息,也包含模型数据信息。数据是放在请求域中的。 //使用ModelAndView @RequestMapping("/output3") public ModelAndView output3(){ ModelAndView modelAndView = new ModelAndView("success"); //viewName即为跳转页面原创 2021-04-30 22:19:50 · 299 阅读 · 4 评论 -
SpringMVC请求参数的处理
一、默认方式获取请求参数直接给方法入参写一个和请求参数名相同的变量,这个变量就可以接收请求的参数值<a href="request1?username=张三">获取请求参数</a> @RequestMapping(value = "/request1") public String request1(String username){ System.out.println(username); return "success";原创 2021-04-30 02:15:59 · 567 阅读 · 0 评论 -
REST风格的URL地址约束
一、REST风格REST即 Representational State Transfer。(资源)表现层状态转化,是目前最流行的一种互联网软件架构。资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的 URI 。获取这个资源,访问它的URI就可以,因此URI即为每一个资源的独一无二的识别符。表现层(Representation):把资源具体原创 2021-04-29 23:12:13 · 543 阅读 · 4 评论 -
SpringMVC的使用
一、SpringMVC概述Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一。SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口。SpringMVC支持REST风格的URL请求。SpringMVC采用了松散耦合可插拔组件结构,比其他MVC框架更具有扩展性和灵活性。MVC软件架构Model模型:封装和映射数据(JavaBean)View视图:界面显示(.jsp)Controller控制器:控制整个网站的跳转原创 2021-04-29 21:07:33 · 373 阅读 · 2 评论