当我们习惯使用框架来进行界面交互时,原生的servlet就会被忽略,今天就总结下使用servlet如何返回结果。
1、RequestDispatcher.forward()界面跳转
ObjectMapper mapper = new ObjectMapper();
Object result = new Object();
String rdstr = "accIntercept.jsp?step_flag=1";
RequestDispatcher rd = request.getRequestDispatcher(rdstr);
request.setAttribute("returnMessage", mapper.writeValueAsString(result));
rd.forward(request, response);
2、以字符流或字节流输出返回值,前台在接收是要以字符串的形式,如Ajax的datatype需是“text”
PrintWriter out = response.getWriter();
// ServletOutputStream out = response.getOutputStream();
out.write("[{\"id\":1,\"name\":default}]");
out.flush();
out.close();
2、ObjectMapper写返回值
// 输出信息
PrintWriter out = response.getWriter();
Object result = new Object();
// jackson核心对象
ObjectMapper objectMap = new ObjectMapper();
objectMap.writeValue(out, result );
1、RequestDispatcher.forward()界面跳转
ObjectMapper mapper = new ObjectMapper();
Object result = new Object();
String rdstr = "accIntercept.jsp?step_flag=1";
RequestDispatcher rd = request.getRequestDispatcher(rdstr);
request.setAttribute("returnMessage", mapper.writeValueAsString(result));
rd.forward(request, response);
2、以字符流或字节流输出返回值,前台在接收是要以字符串的形式,如Ajax的datatype需是“text”
PrintWriter out = response.getWriter();
// ServletOutputStream out = response.getOutputStream();
out.write("[{\"id\":1,\"name\":default}]");
out.flush();
out.close();
2、ObjectMapper写返回值
// 输出信息
PrintWriter out = response.getWriter();
Object result = new Object();
// jackson核心对象
ObjectMapper objectMap = new ObjectMapper();
objectMap.writeValue(out, result );
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16989139/viewspace-1980855/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16989139/viewspace-1980855/
本文介绍了三种使用Servlet返回结果的方法:通过RequestDispatcher.forward()进行界面跳转;以字符流或字节流输出返回值,适用于Ajax请求;利用ObjectMapper将对象转换为JSON字符串输出。
2万+

被折叠的 条评论
为什么被折叠?



