Spring MVC从零开始
文章平均质量分 69
学习Spring MVC的初期,先理解好相关概念,再多动手去敲写代码,勤于总结
奔跑着的国风
为了梦想,一切都是值得的!!!加油吧,小伙伴们!!!
展开
-
使用Spring MVC拦截器实现日志记录
------------------------使用Spring MVC拦截器实现日记记录------------------------------------ 1. 定义一个类实现HandlerInterceptor,比如: public class MyInterceptors implements HandlerInterceptor{ /** * 在渲染视图之后被调用; * 可原创 2016-07-19 15:31:36 · 14462 阅读 · 0 评论 -
学习SpringMVC(二十五)之SpringMVC运行流程
1.请求发送给在WEB.XML中配置的DispatcherServlet 2.查找SpringMVC中是否存在相应的映射 2.1如果不存在,则看配置文件中是否配置了。若配置了,则去调用相应的目标资源;若无,则返回404页面,控制台打印: 2.2如果存在原创 2016-05-27 13:21:01 · 1047 阅读 · 0 评论 -
学习SpringMVC(二十四)之异常处理
1.在@ExceptionHandler 方法的入参中可以加入 Exception 类型的参数, 该参数即对应发生的异常对象 2.@ExceptionHandler方法的入参中不能传入 Map.若希望把异常信息传导页面上,需要使用 ModelAndView作为返回值 3.@ExceptionHandler 方法标记的异常有优先级的问题.会先处理匹配度高的异常 直接上实例: 在Contr原创 2016-05-27 09:08:01 · 1240 阅读 · 0 评论 -
学习SpringMVC(二十三)之拦截器相关
1.自定义一个拦截器的步骤: 第一步,创建一个类实现HandlerInterceptor接口 package com.cgf.springmvc.interceptors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springf原创 2016-05-26 22:34:25 · 707 阅读 · 0 评论 -
学习SpringMVC(二十二)之文件上传
文件上传的步骤: 1.在index.jsp中写一个表单: enctype="multipart/form-data"> File: Desc: 2.写一个controller: package com.cgf.springmvc.handlers; import org.springframework.stereotype.Controller; import org原创 2016-05-26 15:52:32 · 710 阅读 · 0 评论 -
学习SpringMVC(二十一)之通过超链接切换Locale
1.配置国际化文件 2.在springmvc.xml中: 3.在index.jsp中: I18N1 PAGE 中文 英文原创 2016-05-26 13:41:35 · 4253 阅读 · 2 评论 -
学习SpringMVC(二十)之返回JSON
首先要加入三个JAR包: 其次在Controller中: package com.cgf.springmvc.handlers; import java.util.Collection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype原创 2016-05-25 19:06:35 · 3073 阅读 · 0 评论 -
学习SpringMVC(十九)之显示错误消息和国际化
一.在页面显示错误消息:如要显示email的错误或显示全部的错误 二.错误消息的国际化 1.配置国际化资源文件i18n.properties 2.在springmvc.xml中配置ResourceBundleMessageSource原创 2016-05-24 17:43:07 · 5446 阅读 · 4 评论 -
学习SpringMVC(十八)之JSR303数据校验
JSR303是Java为Bean数据合法性校验提供的标准框架 Hibernate Validator是JSR 303的一个参考实现,除支持所有标准的校验注解外,它 还支持以下的扩展注解 @Email @Length @NotEmpty @Range 校验步骤: ①.使用 JSR 303 验证标准 ②.加入 hibernate validator 验证框架的 jar 包 ③.在 Spr原创 2016-05-24 16:51:00 · 948 阅读 · 1 评论 -
学习SpringMVC(十七)之自定义类型转换器
本节的主要内容就是将表单提交的字符串转化为对象 在index.jsp中: SpringMVC 自定义转换器 Employee: 在Controller中: package com.cgf.springmvc.handlers; import java.util.Map; import org.springframework.beans.factory.annotation原创 2016-05-24 10:51:38 · 3235 阅读 · 0 评论 -
学习SpringMVC(十六)之数据绑定流程
1.SpringMVC主框架将ServletRequest对象及目标方法的入参实例传递给WebDataBinderFactory实例,以创建DataBinder实例对象 2.DataBinder调用装配在SpringMVC上下文中的ConversionService组件进行数据类型转换、数据格式化工作。将Servlet中的请求信息填充到入参对象中 3.调用Validator组件对已经绑原创 2016-05-24 09:13:33 · 2387 阅读 · 0 评论 -
学习SpringMVC(十五)之CRUD操作
package com.cgf.springmvc.crud.dao; import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Repository; import com.cgf.springmvc.crud.entit原创 2016-05-23 19:13:33 · 7601 阅读 · 0 评论 -
学习SpringMVC(十四)之关于重定向
一般情况下,contrller方法返回的字符串的值会被当成逻辑视图名处理。 但是如果返回的字符串中带forward:或redirect:前缀时,SpringMVC会对他们进行特殊处理,将forward:和redirect:当成指示符,其后字符串作为URL来处理 例如: forward:/index.jsp 将会完成一个到index.jsp页面的转发操作 redirect:/index.js原创 2016-05-22 13:47:09 · 4059 阅读 · 0 评论 -
学习SpringMVC(十三)之BeanNameViewResolver视图解析器
这里我将配置一个BeanNameViewResolver视图解析器,使用视图名称来解析视图 注意点: 在springmvc.xml文件中如果有多个视图解析器,可以进行优先级的设置,order 值越小优先级越高 1.写一个HelloView类,实现View接口 package com.cgf.springmvc.view; import java.util.Date;原创 2016-05-20 15:21:05 · 7067 阅读 · 5 评论 -
学习SpringMVC(十二)之mvc:view-controller标签
mvc:view-controller标签作用: 配置直接转发页面,可以直接相应转发的页面,而无须再经过Handler方法 例子: 在index.jsp中: success点击该超链接,不会经过Handler方法,而直接转发到相应页面 在springmvc.xml中配置: 但如果就这样配置会导致其他经过Handler方法的请求,无法响应,此时要在Springmvc.xm原创 2016-05-20 13:28:27 · 5332 阅读 · 0 评论 -
学习SpringMVC(十一)之视图和视图解析器
SpringMVC用于处理视图最重要的两个接口是ViewResolver和View。ViewResolver的主要作用是把一个逻辑上的视图名称解析为一个真正的视图,View接口的主要作用是用于处理视图,然后返回给客户端。 Spring为我们提供了非常多的视图解析器,下面将列举一些视图解析器。 AbstractCachingViewResolver:这是一个抽象类,这种视图解析器会把它曾经解原创 2016-05-20 09:34:58 · 1211 阅读 · 0 评论 -
学习SpringMVC(十)之确定目标方法POJO类型参数
SpringMVC 确定目标方法 POJO 类型入参的过程 1. 确定一个 key: 1). 若目标方法的 POJO 类型的参数木有使用 @ModelAttribute 作为修饰, 则 key 为 POJO 类名第一个字母的小写 2). 若使用了 @ModelAttribute 来修饰, 则key 为 @ModelAttribute 注解的 value 属性值. 2. 在 implic原创 2016-05-18 20:12:46 · 1647 阅读 · 0 评论 -
学习SpringMVC(九)之ModelAttribute源码分析
这里以前一章节的内容对ModelAttribute源码进行分析: 注:同学们可以去看下我的前一讲学习SpringMVC(八)之ModelAttribute 1.首先看下第一阶段的断点情况 还未调用ModelAttribute修饰方法前,map值为{} 调用它之后:map值为从数据库中 并将map键值对放到implicitModel中:原创 2016-05-18 15:34:20 · 2630 阅读 · 0 评论 -
学习SpringMVC(八)之ModelAttribute
首先,介绍下ModelAttribute的作用: 1.用@ModelAttribute修饰的方法,将再目标方法被调用前进行调用 2.可以解决这样一个问题:用户在提交表单时候,要求可以对用户名进行修改,但是密码不允许修改,这样在提交之后,在目标方法中的入参对象,将自动对用户名进行填充修改,但是这时候发现密码变为NULL,因为没有对密码传值,但是要求密码为原来用户的密码不变。 2.原创 2016-05-17 18:08:19 · 1677 阅读 · 0 评论 -
学习SpringMVC(七)之处理模型数据
1.将Map,Model做为方法入参,将其放到请求域(request) 在controller中: import java.util.Arrays; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.spr原创 2016-05-16 23:07:40 · 968 阅读 · 1 评论 -
学习SpringMVC(六)之ModelAndView
控制器的方法返回值如果是ModelAndView,则其包含视图信息,也包含模型数据信息。 添加模型数据: model.addObject(attributeName, attributeValue);model.addAllObjects(modelMap) 设置视图: void setView(View view) void setView(String viewName) 在Co原创 2016-05-15 12:56:59 · 973 阅读 · 1 评论 -
学习SpringMVC(五)之使用Servlet原生API
可以使用Servlet原生API作为目标方法的入参,具体类型有以下几种: 1.HttpServletRequest 2.HttpServletResponse 3.HttpSession 4.Writer 5.Reader 6.OutputStream 7.InputStream 8.java.security.Principal 在controller中: @RequestM原创 2016-05-15 11:28:22 · 3261 阅读 · 1 评论 -
学习SpringMVC(四)之使用pojo作为参数
Spring MVC会按请求参数名和POJO对象的属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。 在controller中: import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.cgf.s原创 2016-05-14 21:19:35 · 4070 阅读 · 1 评论 -
学习SpringMVC(三)之RequestParam
@RequestParam用来映射请求参数 value ---参数名 required---参数是否必须,默认true defaultValue---默认值 在controller中: @RequestMapping(value="springmvc") @Controller public class MyRequestParam { @RequestMapping(value原创 2016-05-14 13:23:11 · 886 阅读 · 1 评论 -
学习SpringMVC(二)之RequestMapping
@RequestMapping 除了修饰方法, 还可来修饰类 类定义处: 提供初步的请求映射信息。相对于 WEB 应用的根目录 方法处: 提供进一步的细分映射信息。 相对于类定义处的 URL。若类定义处未标注 @RequestMapping,则方法处标记的 URL相对于 WEB 应用的根目录 在前一讲中,是单单用来修饰方法,这一讲同时也用来修饰类,所以在index.jsp中加入了以下代码:原创 2016-05-11 22:52:01 · 1139 阅读 · 2 评论 -
学习SpringMVC(一)之helloworld
首先,来一个入门案例,带你进入helloworld! 1.创建WEB工程,导入JAR包 2.在WEB.XML文件中配置一个DispatcherServlet 3.编写一个Controller类 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annot原创 2016-05-11 22:21:24 · 1157 阅读 · 1 评论