
SpringMVC
小白的SpringMVC学习笔记
etron_jay
自信满满地让自己的自信满满
展开
-
SpringMVC_27_需要进行Spring 整合SpringMVC吗?和整合值得注意的地方
->需要进行Spring 整合SpringMVC吗?->还是否需要再加入Spring的IOC容器?->是否需要在web.xml文件配置启动Spring IOC容器的 ContextLoaderListener?1.需要通常情况下,类似于数据源,事务,整合其他框架都是放在Spring的配置文件中(而不是放在SpringMVC)实际上放入Spring配置文件对应的IOC...原创 2019-01-10 15:28:46 · 509 阅读 · 0 评论 -
SpringMVC运行流程图
转载 2019-01-09 22:54:46 · 365 阅读 · 0 评论 -
SpringMVC_26_异常处理_SimpleMappingExceptionResolver
如果希望对所有异常进行统一处理,可以使用SimpleMappingExceptionResolver,它将异常类名映射为视图名,即发生异常时使用对应的视图报告异常第一步:index.jsp下写一个< a>标签<a href="testSimpleMappingExceptionResolver?i=2">Test SimpleMappingExceptionReso...原创 2019-01-09 22:49:54 · 287 阅读 · 0 评论 -
SpringMVC_25_异常处理_ResponseStatusExceptionResolver 和 DefaultHandlerExceptionResovler
ResponseStatusExceptionResolver在异常及异常父类中找到@ResponseStatus注解,然后使用这个注解的属性进行处理。顶一个@ResponseStatus注解修饰的异常类@ResponseStatus(HttpStatus.UNAUTHORIZED)public class UnauthorizedException extends RuntimeEx...原创 2019-01-09 22:32:40 · 723 阅读 · 0 评论 -
SpringMVC_24_异常处理_@ExceptionHandler注解
ExceptionHandlerExceptionResolver主要处理Handler中用@ExceptionHandler注解定义的方法。@EceptionHandler注解定义的方法优先级的问题:例如发生的是NullPointerException,但是声明的异常有RuntimeException和Exception,此时会根据异常的最近继承关系找到继承深度最浅的那个@Exceptio...原创 2019-01-09 21:58:00 · 7539 阅读 · 3 评论 -
SpringMVC_23_自定义的拦截器以及拦截器的配置
自定义的拦截器Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口preHandler():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求request进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器对进行处理,则返回true;...原创 2019-01-09 20:55:39 · 2399 阅读 · 0 评论 -
SpringMVC_22_MultipartResolver实现文件的上传
Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的。Spring用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResovlerSpringMVC上下文中默认没有装配MultipartResovler,因此默认情况下不能处理文件的上传工作...原创 2019-01-09 20:02:48 · 262 阅读 · 0 评论 -
SpringMVC_21_国际化操作
关于国际化:1.在页面上能够根据浏览器语言设置的情况对文本(不是内容),时间,数值进行本地化处理2.可以在bean中获取国际化资源文件Locale对应的消息3.可以通过超链接切换Locale,而不再依赖于浏览器的语言设置情况解决:1.使用JSTL的 fmt 标签2.在bean中注入ResourceBundleMessageSource的示例,使其对应的getMessage方法即可3...原创 2019-01-06 19:32:55 · 207 阅读 · 2 评论 -
SpringMVC_20_使用HttpMessageConverter T 实现了上传文件(不推荐)和下载文件操作
使用HttpMessageConverter< T>将请求信息转化并绑定到处理方法的入参中或将响应结果转化为对应类型的响应信息,Spring提供了两种途径:使用@RequestBody/@ResponseBody对处理方法进行标注使用HttpEntity< T>/ResponseEntity< T>作为处理方法的入参或返回值当控制器处理方法使用到@...原创 2019-01-06 18:53:48 · 1727 阅读 · 3 评论 -
SpringMVC_19_返回JSON
第一步:加入必要的jar包第二步:编写返回的方法注意返回值直接是一个集合就可以了 ,还要添加@ResponseBody注解@ResponseBody@RequestMapping("/testJson")public Collection<Employee> testJson(){ return employeeDao.getAll();}第三步:在前端响应...原创 2019-01-06 14:05:09 · 191 阅读 · 0 评论 -
SpringMVC_18_JSR303数据校验 和 提示消息的国际化
作用,在注册界面判断你的注册数据是否合法,比如是否符合一个基本的邮箱格式。JSR 303 是Java为Bean数据合法性校验提供的标准框架,它已经包含在JavaEE6.0中.JSR 303 通过在Bean属性上标注类似于@NotNull、@Max等标准的注解指定校验规则,并通过标准的验证接口对Bean进行验证。Hibernate Validator是JSR 303 的一个参考...原创 2019-01-06 13:37:18 · 773 阅读 · 0 评论 -
SpringMVC_17_新添加日期,工资的数据的格式化
FormattingConversionServiceFactoryBean内部已经注册了:NumberFormatAnnotationFormatterFactory:支持对数字类型的属性使用@NumberFormate注解JodaDateTimeFormatAnnotationFormatterFactory:支持对日期类型的属性使用@DataTimeFormat注解案例当我...原创 2019-01-05 22:50:31 · 164 阅读 · 0 评论 -
SpringMVC_16_@InitBinder
@InitBinder由@InitBinder标识的方法,可以对WebDataBinder对象进行初始化。WebDatabinder是DataBinder的子类,用于完成由表单字段到JavaBean属性的绑定@InitBinder方法不能有返回值,它必须声明为void。@InitBinder方法的参数通常是WebDataBinder一个例子,要是我们想注册的时候,lastName不被加...原创 2019-01-05 22:19:18 · 193 阅读 · 0 评论 -
SpringMVC_15_自定义类型转换器
ConversionService是Spring类型转换体系的核心接口。可以利用ConversionSeviceFactoryBean在Spring的IOC容器中定义ConversionService.Spring将自动识别出IOC容器中的ConversionService,并在Bean属性配置及Spring MVC处理方法入参绑定等场合使用它进行数据的转换可通过ConversionServ...原创 2019-01-05 22:08:22 · 1539 阅读 · 1 评论 -
SpringMVC_14_RESTFUL_CRUD(五)实现修改操作PUT
完成了DELETE删除操作,最后我们一鼓作气 完成修改操作吧!修改操作,点击修改功能的&lt; a&gt;标签后,在handler方法中根据id找到当前Employee的所有数据,放在request域中,转到input.jsp页面中,这样input.jsp就能直接显示原来的数据,而不是之前的注册界面啥内容都没有填写。修改完毕这时提交方法是PUT,需要写一个新的handler方法处理PUT操作,最...原创 2019-01-05 15:24:39 · 466 阅读 · 0 评论 -
SpringMVC_14_RESTFUL_CRUD(四)实现删除数据DELETE
ok,上一章实现了添加操作。这一章完成DELET删除数据的操作。首先需要了解的是,因为是DELETE以及之后的PUT请求本身html是不支持的,所以需要利用POST请求,通过拦截器配置处理为相应的DELETE或者PUT请求。一、我们首先需要做的在web.xml中配置:把POST请求转为DELETE、PUT请求<filter> <filter-name>Hidd...原创 2019-01-05 15:07:00 · 599 阅读 · 0 评论 -
SpringMVC_14_RESTFUL_CRUD(三)实现添加数据操作
ok,上一章搞定了显示所有的数据这一章来搞定添加数据操作。先在list.jsp尾部添加一个标签,也就是显示了数据过后,可以添加数据的&lt; a&gt;标签,添加完毕后重新显示list.jsp操作。一、编写这个&lt; a&gt;标签的handler方法大家没有忘记吧,所有的处理方法都在com.springmvc.crud.handlers包里的EmployeeHandler类中处理添加...原创 2019-01-05 14:48:33 · 615 阅读 · 0 评论 -
SpringMVC_14_RESTFUL_CRUD(二)实现查询并且显示所有数据
ok,上一章已经把基本需要的javabean以及dao类建立起来了。那么接下来的工作就是写页面的显示效果,然后完成点击后的handler处理请求的方法,显示到页面上即可。这一章的主要教大家实现查询操作。一 、XML配置首先在web/WEN-INF/目录下创建一个views目录,里面存放你想展示的视图,我们先在里面创建一个list.jsp,用来展示数据库的所有数据。接着在src目录下写好 ...原创 2019-01-05 14:26:08 · 969 阅读 · 0 评论 -
SpringMVC_14_RESTFUL_CRUD(一)初步准备
背景:在大致的学习SpringMVC到现在,已经具备使用SpringMVC写个简单的CRUD了。既然如此,话不多说,我们即刻出发。嘻嘻原创 2019-01-05 14:02:20 · 273 阅读 · 0 评论 -
SpringMVC_13_关于重定向
一般情况下,控制器方法返回字符串类型的值会被当成逻辑视图名处理如果返回的字符串中带有forward: 或 redirect:前缀时,SpringMVC会对他们进行特殊处理:将forward:和redirect:当成指示符,其后的字符串作为URL来处理redirect:succcess.jsp:会完成一个到success.jsp的重定向的操作forward:success.jsp: 会完成一...原创 2018-12-29 15:22:07 · 393 阅读 · 0 评论 -
SpringMVC_12_自定义视图
通过一个类实现View这个接口,在这个类中写想要展现的东西,实现把这个类变为自定义的一个视图做法:1.创建一个View视图包,并创建HelloView这个类,实现View接口,重写方法2.配置BeanNameViewResolver解析器:使用视图的名字来解析视图3.将这个类放入到IOC容器中,使用@Component3.设置视图解析器的优先级4.编写handler方法,显示这...原创 2018-12-29 15:04:00 · 247 阅读 · 0 评论 -
SpringMVC_11_使用JSTL的fmt标签以及配置国际化资源文件和view-controller标签的使用
若项目中使用了JSTL,则SpringMVC会自动把视图由InternalResourceView转为JstlView 也就是上面的操作,添加进去了jstl.jar 和standard.jar ,SpringMVC会自动把视图由InternalResourceView转为JstlView若使用JSTL的fmt标签则需要在SpringMVC的配置文件中配置国际化资源文件 1.写好三个i1...原创 2018-12-29 14:30:10 · 681 阅读 · 0 评论 -
SpringMVC_10_ 处理模型数据(二)之 ModelAttribute
SpringMVC_10_ 处理模型数据(二)之 ModelAttribute问题描述:当我想要完成一个修改操作,条件是有一个字段不能被修改。比如说录入的时间不能被修改。假如我们有三个字段,因为录入的时间字段不能被修改,剩下两个字段。一贯的操作是 new 一个User,给它附上两个字段的值(剩余的字段为空),然后更新数据库,然而这样会使得原来的时间字段变为null。而ModelAttribu...原创 2018-12-28 21:08:03 · 192 阅读 · 0 评论 -
SpringMVC_9_ 处理模型数据(一)之ModelAndView、Map、@SessionAttributes
SpringMVC提供了以下几种途径输出模型数据:ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据Map 及 Model:入参为org.springframework.ui.Model、org.springframework.ui.ModelMap或java.uti.Map时,处理方法返回时,Map中的数据会自动添加到模型中。@Se...原创 2018-12-28 14:07:17 · 225 阅读 · 0 评论 -
SpringMVC_8_使用Servlet原生API作为参数
MVC 的Hander方法可以接受那些ServletAPI类型的参数HttpServletRequestHttpServletResponseHttpSessionjava.security.PrincipalLocaleInputStreamOutputStreamReaderWriter例子程序1.首先写一个< a>标签调用mvc的handler方法2...原创 2018-12-27 17:52:28 · 218 阅读 · 0 评论 -
SpringMVC_7_使用POJO对象绑定请求参数值 (较重要)
SpringMVC 会按请求参数名个POJO属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。例子程序:1.有这么一个关系在com.springmvc.entities包中有两个类User 关联了 Address ,也就是说User里声明了一个Address成员变量User.javapackage com.springmvc.entities;public class...原创 2018-12-27 17:30:44 · 320 阅读 · 0 评论 -
SpringMVC_6_使用@CookieValue绑定请求中的Cookie值md
@CookieValue可让处理方法入参绑定某个Cookie值@CookieValue映射一个Cookie值。属性同@RequestParam相同举个例子:1.首先得到当前页面的Cookie名称2.写一个标签来调用这个方法3.写好这个testCookieValue的方法4.运行程序,点击< a >标签,得到结果...原创 2018-12-27 17:05:38 · 373 阅读 · 0 评论 -
SpringMVC_5_使用@RequestParam绑定请求参数值和@RequestHeader绑定请求头的属性值
使用@RequestParam绑定请求参数值在处理方法入参处使用@RequestParam可以把请求参数传递给请求方法value:参数名required:是否必须。默认为true,表示请求参数中必须包含对应的参数,若不存在,将抛出异常存在一个情况:如果请求的时候没有带其中一个参数将会无法访问解决方法:使用@RequestHeader绑定请求头的属性值演示程序步骤:...原创 2018-12-24 20:04:18 · 1561 阅读 · 0 评论 -
SpringMVC_4_REST的GET(得到数据)、POST(新增数据)、DELETE(删除数据)、PUT(更新数据)操作
RESTREST:即 Representational State Transfer。**(资源)表现层状态转化。是目前最流行的一种互联网软件架构。**它结构清晰、符合标准、易于理解、扩展方便、所以正得到越来越多网站的采用资源(Resources):**网络上的一个实体,或者说是网络上的一个具体信息。**它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个...原创 2018-12-24 18:21:02 · 1028 阅读 · 0 评论 -
SpringMVC_3_使用@RequestMapping_PathVariable注解
@PathVariable映射URL绑定的占位符带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺近发展过程中具有里程碑的意义通过@PathVariable可以就将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{xxx}占位符可以通过@PathVariable(“xxx”)绑定到操作方法的入参中...原创 2018-12-23 16:58:14 · 257 阅读 · 0 评论 -
SpringMVC_2_使用@RequestMapping映射请求
例子程序程序结构:SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求在控制器的类定义及方法定义处都可标注@RequestMapping类定义处: 提供初步的请求映射信息。相对于WEB应用的根目录 &nbs...原创 2018-12-23 16:40:14 · 184 阅读 · 0 评论 -
SpringMVC_1_SpringMVC概述+HelloWorld程序
SpringMVC概述Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一Spring3.0后全面超越Struts2,成为最优秀的MVC框架SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无需实现任何接口支持REST风格的URL请求采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性HelloWorld程序...原创 2018-12-23 15:38:09 · 203 阅读 · 0 评论