SpringMVC
SpringMVC
杨林伟
像火箭科学家一样思考!
展开
-
SpringMVC解决下载文件名乱码的问题
直接贴上代码://文件名编码,解决乱码问题(根据浏览器适配)String fileName = file.getName();String encodedFileName = null;String userAgentString = request.getHeader("User-Agent");String browser = UserAgent.parseUserAgentStri...原创 2019-10-12 09:45:29 · 1427 阅读 · 0 评论 -
57SpringMVC - 拦截器案例
处理流程有一个登录页面,需要写一个Controller访问登录页面登录页面有一提交表单的动作。需要在Controller中处理。a)判断用户名密码是否正确(在控制台打印)b)如果正确,向session中写入用户信息(写入用户名username)c)跳转到商品列表拦截器。a)拦截用户请求,判断用户是否登录(登录请求不能拦截)b)如果用户已经登录。放行c)如果用户未登录,...原创 2019-04-08 17:46:07 · 959 阅读 · 2 评论 -
56SpringMVC - 拦截器
定义Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理。实现HandlerInterceptor接口,如下:public class HandlerInterceptor1 implements HandlerInterceptor { // controller执行后且视图返回后调用此方法 // 这里可得到执行c...原创 2019-04-08 17:39:51 · 260 阅读 · 0 评论 -
55SpringMVC - RESTful支持
什么是RESTful?RESTtful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。资源:互联网所有的事物都可以被抽象为资源资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。分别对应 添加、 删除、修改、查询。传统方式操作资源http://127.0.0.1/item...原创 2019-04-08 17:32:14 · 312 阅读 · 0 评论 -
54SpringMVC - JSON交互
@RequestBody@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为java对象并绑定到Controller方法的参数上。传统的请求参数:itemEdit.action?id=1&name=zhangsan&age=12现在的请求参数:使用POS...原创 2019-04-08 17:21:45 · 255 阅读 · 0 评论 -
53SpringMVC -上传图片
配置虚拟目录在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:<Context docBase="D:\develop\upload\temp" path="/pic" reloadable="false"/>访问http: // localhost:8080/pic即可访问D:\develop\upload\temp下的图片。也可以通过...原创 2019-04-08 17:10:36 · 261 阅读 · 0 评论 -
52SpringMVC - 异常处理器
springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。异常处理思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的dao、service、controller出现都通过throws Exception向上...原创 2019-04-08 16:55:14 · 263 阅读 · 0 评论 -
51SpringMVC - Controller方法返回值
返回ModelAndViewcontroller方法中定义ModelAndView对象并返回,对象中可添加model数据、指定view。参考之前的文章: 参数绑定(Model / ModelMap)返回void在Controller方法形参上可以定义request和response,使用request或response指定响应结果:使用request转发页面,如下:request....原创 2019-04-08 16:47:56 · 339 阅读 · 0 评论 -
50SpringMVC - RequestMapping
通过@RequestMapping注解可以定义不同的处理器映射规则。URL路径映射@RequestMapping(value=“item”)或@RequestMapping("/item")value的值是数组,可以将多个url映射到同一个方法/** * 查询商品列表 * @return */@RequestMapping(value = { "itemList", "itemLi...原创 2019-04-08 16:34:58 · 301 阅读 · 0 评论 -
49SpringMVC - 参数绑定(高级参数绑定)
绑定数组需求在商品列表页面选中多个商品,然后删除。功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品id删除商品信息。本文演示可以获取id的数组即可Jsp页面提交url是queryItem.action<form action="${pageContext.request.contextPath }...原创 2019-04-08 16:23:08 · 595 阅读 · 0 评论 -
48SpringMVC - 参数绑定(自定义)
需求在商品修改页面可以修改商品的生产日期,并且根据业务需求自定义日期格式。需求分析由于日期数据有很多种格式,springmvc没办法把字符串转换成日期类型。所以需要自定义参数绑定。前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestMapping标记的方法进行适配,并对方法中的形参进行参数绑定。可以在springmvc处理器适配器上自定义转换器Converter进行参数绑定...原创 2019-04-08 16:11:15 · 907 阅读 · 0 评论 -
47SpringMVC - 参数绑定(绑定包装pojo)
需求使用包装的pojo接收商品信息的查询条件。需求分析包装对象定义如下:public class QueryVo {private Item item;set/get。。。}页面定义如下图:接收查询条件// 绑定包装数据类型 @RequestMapping("/queryItem") public String queryItem(QueryVo queryVo) { ...原创 2019-04-08 16:04:58 · 579 阅读 · 0 评论 -
46SpringMVC - 参数绑定(绑定pojo类型)
需求将页面修改后的商品信息保存到数据库中。需求分析请求的url:/updateItem.action参数:表单中的数据。响应内容:更新成功页面使用pojo接收表单数据如果提交的参数很多,或者提交的表单中的内容很多的时候,可以使用简单类型接受数据,也可以使用pojo接收数据。要求: pojo对象中的属性名和表单中input的name属性一致。页面定义如下图:Pojo(逆向工...原创 2019-04-08 16:01:58 · 894 阅读 · 0 评论 -
45SpringMVC - 参数绑定(绑定简单类型)
当请求的参数名称和处理器形参名称一致时会将请求参数与形参进行绑定。这样,从Request取参数的方法就可以进一步简化。/** * 根据id查询商品,绑定简单数据类型 * * @param id * @param model * @return */@RequestMapping("/itemEdit")public String queryItemById(int id, M...原创 2019-04-08 15:52:39 · 615 阅读 · 0 评论 -
44SpringMVC - 参数绑定(Model / ModelMap)
Model除了ModelAndView以外,还可以使用Model来向页面传递数据,Model是一个接口,在参数里直接声明model即可。如果使用Model则可以不使用ModelAndView对象,Model对象可以向页面传递数据,View对象则可以使用String返回值替代。不管是Model还是ModelAndView,其本质都是使用Request对象向jsp传递数据。/** * 根据...原创 2019-04-08 15:33:59 · 947 阅读 · 0 评论 -
43SpringMVC - 参数绑定(默认支持的参数类型)
需求打开商品编辑页面,展示商品信息。编辑商品信息,首先要显示商品详情需要根据商品id查询商品信息,然后展示到页面。请求的url:/itemEdit.action参数:id(商品id)响应结果:商品编辑页面,展示商品详细信息。ItemService接口编写ItemService接口如下图:ItemServiceImpl实现类@Overridepublic Item que...原创 2019-04-08 15:29:53 · 1762 阅读 · 0 评论 -
42SpringMVC - SpringMVC小案例
需求实现商品查询列表,从mysql数据库查询商品信息。DAO开发使用逆向工程,生成代码ItemService接口public interface ItemService { /** * 查询商品列表 * * @return */ List<Item> queryItemList();}ItemServiceImpl实现类@Service...原创 2019-04-08 15:17:30 · 349 阅读 · 0 评论 -
41SpringMVC - 整合MyBatis
整合思路Dao层SqlMapConfig.xml,空文件即可,但是需要文件头。applicationContext-dao.xmla)数据库连接池b)SqlSessionFactory对象,需要spring和mybatis整合包下的。c)配置mapper文件扫描器。Service层applicationContext-service.xml包扫描器,扫描@service注解的...原创 2019-04-08 15:04:36 · 279 阅读 · 0 评论 -
40SpringMVC - 视图解析器(ViewResolver)
视图解析器视图解析器使用SpringMVC框架默认的InternalResourceViewResolver,这个视图解析器支持JSP视图解析,在springmvc.xml配置文件中配置如下: <!-- Example: prefix="/WEB-INF/jsp/", suffix=".jsp", viewname="test" -> "/WEB-INF/jsp/test.j...原创 2019-04-08 14:42:58 · 334 阅读 · 0 评论 -
39SpringMVC - 注解映射器和适配器
组件扫描器使用组件扫描器省去在spring容器配置每个Controller类的繁琐。使用< context:component-scan >自动扫描标记@Controller的控制器类,在springmvc.xml配置文件中配置如下:<!-- 配置controller扫描包,多个包之间用,分隔 --><context:component-scan base-...原创 2019-04-08 14:37:05 · 336 阅读 · 0 评论 -
38SpringMVC - SpringMVC架构
框架结构框架结构如下图:架构流程用户发送请求至前端控制器DispatcherServletDispatcherServlet收到请求调用HandlerMapping处理器映射器处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServletDispatcherServlet通过HandlerAdapter处理器适配...原创 2019-04-08 14:28:22 · 303 阅读 · 0 评论 -
37SpringMVC - 简介
Springmvc是什么Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图:Springmvc处理流程如下图所示:入门程序需求:使用浏览器显示商品列表1.创建web工程2.导入jar包从课前资料中导入springMVC的jar包,位置如下图:3.加入配置文件创建config资源文...原创 2019-04-08 14:03:00 · 415 阅读 · 0 评论