json用的alibaba fastJson ValueFilter filter = new ValueFilter() { @Override public Object process(Object obj, String s, Object v) { logger.debug(s); if (v instanceof ObjectId) return v.toString(); return v; } }; return JSONObject.toJSONString(viewModel…
详细的Spring MVC框架搭配在这个连接中: Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 这篇主要讲解MVC中Mybatis的配置过程. STEP 1:数据库与实体bean的创建: 在这个实例中用 Mysql作为操作的数据库源,先来创建一张名为 users 的数据表结构,如图: 如果你认为自己是个潇洒的代码控,不屑于图形界面操作,那么你也可以用SQL代码来进行表的创建,复制如下代码即可: ;…
Spring MVC数据绑定机制 数据转换 Spring MVC处理JSON 数据格式化配置使用 数据校验 数据校验 Spring MVC数据绑定机制 Spring MVC解析JSON格式的数据: 步骤: 导入Jar包 注解标签的添加 前台传递JSON数据 对象前加@RequsetBody 数据转换 HttpMessageConverter<T>是Spring中新增的一个接口,负责将请求信息转换为一个对象<T>,将对象输出为响应信息. Spring MVC 处理JSON-向客户端发…
问题: 当前项目是作为手机APP后台支持,使用spring mvc + mybaits + shiro进行开发.后台服务与手机端交互是发送JSON数据.如果后台发生异常,会直接返回异常页面,显示异常内容,如果是404请求不到资源或者500这类服务器的问题,可能会导致返回404和500异常页面,手机端的处理就非常麻烦,为了解决这个问题,就需要做全局的异常处理. 解决方案: (1)自定义或者使用spring自带的各种异常处理器 例如spring基于注解的异常解析器AnnotationHandlerM…
要实现Controller返回数据给页面,Spring MVC 提供了以下几种途径: ModelAndView:将视图和数据封装成ModelAndView对象,作为方法的返回值,数据最终会存到HttpServletRequest对象中! Model对象:通过给方法添加引用Model对象入参,直接往Model对象添加属性值.那么哪些类型的入参才能够引用Model对象,有三种类型,分别是  org.springframework.ui.Model.org.springframework.ui.Mod…
 spring mvc的拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式, 第…
我们经常都需要封装统一JSON格式 例如以下形式 { “data”:“输出的数据”, “code”:“响应代码”, “msg”:“响应信息” } /** * Created by linli on 2017/7/31. */ public class Result<T> { String code; String msg; T data; public String getCode() { return code; } public void setCode(String code) { th…
前言 前文中讲到,使用@ResponseStatus注解,可以修饰一个异常类,在发生异常的时候返回指定的错误码和消息,在返回的 reason中包含中文的时候,就会出现中文乱码的问题 现象 reason中包含中文的时候,前端返回为乱码 /** * 自定义异常类 * * @author Administrator * */ @ResponseStatus(value = HttpStatus.FORBIDDEN, reason = "没有权限") public class TestExce…
public class Messages { /// <summary> /// 返回包含是否成功以及消息字符结果 /// </summary> /// <param name="success">是否成功(True-成功,False-失败)</param> /// <param name="msg">消息字符</param> public Messages(bool success, str…
Spring MVC返回 json字符串的方式有很多种方法,这里介绍最简单,也是最常使用的两种方式 一.使用  PrintWriter printWriter  直接输出字符串到返回结果中    不需要任何xml文件配置 1 2 3 4 5 6 7 8 9 //返回给前台一个字符串  @RequestMapping(params = "method=getJson1")  public void getJson(@RequestParam("userid") Str…
不知道大家对千篇一律的404 Not Found的错误页面是否感到腻歪了?其实通过很简单的配置就能够让Spring MVC显示您自定义的404 Not Found错误页面. 在WEB-INF的web.xml里添加一个新的区域: 意思是一旦有404错误发生时,显示resouces文件夹下的404.jsp页面. <error-page> <error-code>404</error-code> <location>/resources/404.jsp</l…
http://jiessiedyh.iteye.com/blog/475541 http://bigcat.easymorse.com/?p=474 Spring MVC 教程,快速入门,深入分析 http://elf8848.iteye.com/blog/875830/ ———————————————————————————————————————————————— 最近用spring mvc ,security做项目,中文的乱码问题解决方法如下: 在web.xml文件中加入filter即可:…
SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java --对用户的相关操作: 视图层:toFormTest.jsp--跳转至formTest.jsp (这样跳转的原因:1.由于jsp文件夹在WEB-INF目录下,所以无法直接访问:2.在目标地址formTest.jsp中的表单采用了sf标签,需在控制层中初始化表单所绑定的bean对象,所以需先进入控制…
1. 引言 拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似于Servlet的Filter. 我们可以让普通的Bean实现HandlerIntercpetor接口或继承HandlerInterceptorAdapter类来实现自定义拦截器. 通过重写WebMvcConfigurerAdapter的addIntercetors方法来注册一个计算每一次请求的处理时间的拦截器. 2. 自定义拦截器的实现 2.1 定义拦截器 新建LogInterceptor类,并继承Ha…
SpringMVC返回JSON格式的数据: 1 添加jar包(gson-2.8.0.jar): <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version> </dependency> 或者(jackson-databind-2.1.5.jar): <d…
1.itemsEasyui.jsp 应用到的插件及知识点:日期控件My97 ,图片本地预览函数PreviewImage() (1)easy ui 的模态窗口使用时,要指定DIV的属性 data-options="modal:true,closed:true,iconCls:'icon-save'"  主要是modal:true,需要展示时使用 jQuery("#itemsDiv").window('open'); 打开指定的div (2) 利用FormData对象,…
1.返回ModelAndView 定义ModelAndView对象并返回,对象中可添加model数据.指定view 2.返回String 1.表示返回逻辑视图名 model对象通过 model.addAttribute("xxx",model)进行设定 2.redirect重定向: redirect重定向特点:浏览器地址栏中的url会变化.修改提交的request数据无法传到重定向的地址.因为重定向后重新进行request(request无法共享) 3.forward页面转发: 通过f…
实现方式:使用@Aspect实现: 1. 新建注解接口:CheckSign package com.soeasy.web.utils; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import java.lang.annotation.*; /** * Created by Administrator on 2017/10/25 0025. */ @Docum…
HttpServletResponseWrapper 是什么? ServletResponse 的包装类,相关设计模式 装饰者模式. 运行环境 jdk 1.7 spring boot 整合的web环境 关键代码Wrapper package com.basic.m.web.config; import javax.servlet.ServletOutputStream; import javax.servlet.WriteListener; import javax.servlet.http.H…
1.传递日期参数: 解决办法: 实体类日期属性加 @DateTimeFormat(pattern="yyyy-MM-dd") 注解 beans中加 <mvc:annotation-driven />…
今天在做项目时,有一个需求:获取从控制器返回的数组对象,方法如下 public ActionResult GetAllFiles() { string dir = Server.MapPath("../Upload/InterpAct_xlsx"); string[] files = Directory.GetFiles(dir); return Json(files, JsonRequestBehavior.AllowGet); }…
1.异常处理介绍 Spring在web项目中,如果在请求处理时出现异常,那输出会是Servlet响应.这时异常需要以某种方式转换为响应. Spring将异常转换为响应的方式: a.特定的Spring异常将自动映射为指定的HTTP状态码: b.异常上添加@ResponseStatus注解,从而将其映射为某一个HTTP状态码: c.方法上添加@ExceptionHandler注解,使其处理异常. 2.异常处理代码 @RequestMapping("getPathVariable/{id}"…
前端页面传入数据到后台,String,int等等类型都很友好,但是Date类型不能直接上传到服务器.否则会报异常![在这里插入图片描述](https://img-blog.csdnimg.cn/20190429211624239.png)此时我们可以用ackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.来解决这个问题,在你需要传入到服务器或者数据库上添加上注解//timezone东八区的意…
ModeAndView 可以在构造时确定需要跳转的页面也可以通过setViewName方法来确定需要跳转的页面 String 指定返回页面的视图名称,页面跳转,如果加了@ResponseBody注解,就直接将返回值输入到当前页面,页面不跳转 Void 响应页面就是当前访问地址的页面,页面不跳转…
时间类型序列化: 注意红色代码,必须引入fastjson的JSONField类,而非其它. import com.alibaba.fastjson.annotation.JSONField; @Entity @Table(name="User") public class User{ @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id…
@RequestMapping(value = "/order/findOrderByIdVague/{noId}.json", method = {RequestMethod.GET,RequestMethod.POST}) public @ResponseBody List findOrderByIdVague(@PathVariable String noId){ ApiModel model=null; if (noId==null || noId.length()<6.…
此处用的是jsp,控制层用的是ModelAndView, 具体解决方法如下: @RequestMapping(value = "notfound", method = RequestMethod.GET) public ModelAndView notfound() { ModelAndView modelAndView = new ModelAndView(); String viewName = "error"; modelAndView.setViewName…
SpringMVC处理列表和数组类型: 当form提交多个参数时,可以使用@RequestParam(value="")注解将其注入到列表或数组中,否则参数无法传值 1 controller接收列表 @ResponseBody @RequestMapping("/role/deleteMore") public ResultBean getAll(@RequestParam(value="ids") List<Integer> ids…
主要有两步,controller中添加initBinder方法,再创建一个时间类型数据转换类就OK了. 1.在Controller中创建方法: // 相关包 import java.text.DateFormat; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.web.bind.ServletRequestDataBinder; // 方法 @InitBi…
在@RequestMapping注解中增加produces="application/json;charset=UTF-8"即可 例如:@RequestMapping(value ="/user", produces="application/json;charset=UTF-8")…