SpringMVC
文章平均质量分 78
cai_ing
这个作者很懒,什么都没留下…
展开
-
记一次java.lang.NoSuchMethodError分析
1. 背景本周同事遇到一个问题,在调用外部类的时候,由于对该类所在包版本进行了一次升级由xxx-client-3.0.78jar 升级为 xxx-client-3.0.79jar。然后在调用该类的升级后的新的方法的时候,编译器没有报错,运行期间抛出了异常。该项目是使用SpringMVC框架搭建的,本地在跑的时候,同事使用的是Tomcat容器HTTP Status 500 - java.lang.NoSuchMethodError:com.xxx.xxx.xxx vo.filter.house.Sim原创 2022-03-17 16:03:49 · 762 阅读 · 0 评论 -
SpringMVC_异常处理
一、异常处理概述Spring MVC 通过 HandlerExceptionResolver 处理程序的异常,包括 Handler 映射、数据绑定以及目标方法执行时发生的异常。SpringMVC 提供的 HandlerExceptionResolver 的实现类二、HandlerExceptionResolverDispatcherServlet 默认装配的 HandlerExceptionResolver :① 没有使用 <mvc:annotation-driven/>配置:原创 2020-11-30 12:04:33 · 187 阅读 · 0 评论 -
ContextLoaderListener的作用以及Spring和JavaWeb或SpringMVC的整合问题
一、背景1、Spring整合Javaweb的时候,在Servlet类上,不能使用@Cotroller属性。因为javaweb项目在Tomcat容器启动的时候会自动加载Servlet对象,此时若加上@Controller,ioc容器一启动,也存在了Servlet对象。而Tomcat中的Servlet对象和IOC容器中的Servlet对象不同,在Tomcat中当然是使用Tomcat创建的Servlet对象。因此目前不能标注Spring注解在servlet层;其他层可以标注2、既然如此,不在Servle原创 2020-11-27 12:21:45 · 305 阅读 · 0 评论 -
SpringMVC_JSR303数据校验
数据校验;只做前端校验是不安全的;在重要数据一定要加上后端验证;JSR303数据校验如何校验①使用JSR 303验证标准②加入hibernate validator验证框架③在SpringMVC配置文件中增加mvc:annotation-driven/④需要在bean的属性上增加对应验证的注解⑤在目标方法bean类型的前面增加@Valid注解验证出错后,跳转到哪个页面错误消息,如何显示,如何国际化JSR 303是 Java 为 Bean 数据合法性校验提供的标准框架,它已原创 2020-08-12 01:19:41 · 273 阅读 · 0 评论 -
SpringMVC_数据格式化
1、数据格式化概述对属性对象的输入/输出进行格式化,从其本质上讲依然属于 “类型转换” 的范畴。Spring 在格式化模块中定义了一个实现 ConversionService 接口的FormattingConversionService 实现类,该实现类扩展了 GenericConversionService,因此它既具有类型转换的功能,又具有格式化的功能FormattingConversionService 拥有一个FormattingConversionServiceFactroyBean 工原创 2020-08-12 00:55:46 · 199 阅读 · 0 评论 -
SpringMVC_数据绑定_自定义类型转换器
1、自定义类型转换器;原理:ConversionService是一个接口;它里面有Converter(转换器)进行工作,自定义类型转换器就得实现Converter方法1)、实现Converter接口,做一个自定义类型的转换器package com.czl.component;import com.czl.bean.Employee;import com.czl.dao.DepartmentDao;import org.springframework.beans.factory.annota.原创 2020-08-11 16:57:56 · 165 阅读 · 0 评论 -
SpringMVC_自定义视图解析器
层次目录:1、 MyViewResolverController.javapackage com.czl.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class MyViewResol原创 2020-08-09 12:01:46 · 574 阅读 · 2 评论 -
SpringMVC_forward和redirect前缀
由于在Spring配置文件中添加了视图解析器,会对Controller返回的字符串进行拼串,因此如果在Controller层要访问和WEB-INF同层的页面如hello.jsp,则比较麻烦。//视图解析器<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLS原创 2020-08-08 00:28:58 · 437 阅读 · 1 评论 -
SpringMVC_国际化
1、导包导入了jstl的时候会自动创建为一个jstlView;可以快速方便的支持国际化功能;2、可以支持快速国际化;javaWeb国际化步骤;1)、得得到一个Locale对象;2)、使用ResourceBundle绑定国际化资源文件;3)、使用ResourceBundle.getString(“key”);获取到国际化配置文件中的值;4)、web页面的国际化,fmt标签库来做;<fmt:setLocale><fmt:setBundle ><fmt:mess原创 2020-08-07 23:04:15 · 149 阅读 · 0 评论 -
SpringMVC_DispatcherServlet源码分析
一、前端控制器的架构?DispatcherServlet二、doDispatch()详细细节:protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; HandlerExecutionChain mappedHandler = null;原创 2020-08-05 17:40:52 · 253 阅读 · 0 评论 -
SpringMVC_响应数据传出
SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面???1)、可以在方法处传入Map、或者Model或者ModelMap。给这些参数里面保存的所有数据都会放在请求域中。可以在页面获取关系:Map,Model,ModelMap:最终都是BindingAwareModelMap(隐含模型)在工作;相当于给BindingAwareModelMap中保存的东西都会被放在请求域中;Map(interface(jdk)) Model(interface原创 2020-08-04 11:27:27 · 273 阅读 · 0 评论 -
SpringMVC_@RequestMapping
1、@RequestMapping基本属性;就是告诉SpringMVC;这个方法用来处理什么请求;这个/是可以省略,即使省略了,也是默认从当前项目下开始;习惯加上比较好 /hello /hello2、@RequestMapping的其他属性method:限定请求方式、HTTP协议中的所有请求方式:【GET】, HEAD, 【POST】, PUT, PATCH, DELETE, OPTIONS, TRACEGET、POSTmethod=RequestMethod.POST:只接受这原创 2020-08-04 11:14:38 · 150 阅读 · 0 评论 -
SpringMVC_获取请求各种信息
SpringMVC如何获取请求带来的各种信息 /** * SpringMVC如何获取请求带来的各种信息 * 默认方式获取请求参数: * 直接给方法入参上写一个和请求参数名相同的变量。这个变量就来接收请求参数的值; * 带:有值,没带:null; * * @RequestParam:获取请求参数的; * 参数默认是必须带的;否则报400 * @RequestParam("user")String原创 2020-08-02 19:50:31 · 529 阅读 · 0 评论 -
SpringMVC_Ant和Restful风格
一、Ant路径风格 * * URL地址可以写模糊的通配符: * ?:能替代任意一个字符 * *:能替代任意多个字符,和一层路径 * **:能替代多层路径 * */@Controllerpublic class RequestMappingTest { @RequestMapping("/antTest01") public String antTest01(){ System.out.println("antTest01..."); return "success"原创 2020-08-02 17:53:00 · 901 阅读 · 0 评论 -
SpringMVC前端控制器使用 / 的原因
HelloWorld流程HelloWorld:细节:1、运行流程:1)客户端点击链接会发送 http://localhost:8080/springmvc/hello 请求2)来到tomcat服务器;3)SpringMVC的前端控制器收到所有请求;4)来看请求地址和@RequestMapping标注的哪个匹配,来找到到底使用那个类的哪个方法来处理5)前端控制器找到了目标处理器类和目标方法,直接利用返回执行目标方法;6)方法执行完成以后会有一个返回值;SpringMVC认为这个返回值就是要去的原创 2020-08-02 17:11:43 · 575 阅读 · 0 评论