关于Java web中request response session context的知识详述
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Java web中request response session context的知识详述相关的知识,希望对你有一定的参考价值。
我感觉java web其实4大核心就是这4个对象了。但是至今对他们没有非常清晰而完整的认识。但是网上的相关内容,都涉及怎么用啊,实践中怎么获得怎么处理等等。,但我学习的风格就是弄清楚原理然后自己画,而不是比葫芦画瓢。只求结果。所以我想请下这方面大神,给我大概把这四个对象联系起来讲一下他们的知识内容,如生存周期,交互流程,以及一些经验化的小用处(比如把需要返回的数据塞到request里 不过 这一点我有点疑惑)。在此先感谢了,答案满意必追高分,我两三千财富值呢。呵呵。
request对象常用方法String getParameter(String name)
根据页面表单组件名称获取请求页面提交数据
String[ ] getParameterValues (String name)
获取页面请求中一个表单组件对应多个值时的用户的请求数据
response 对象常用方法
void setContentType (String name)
设置作为响应生成的内容的类型和字符编码
void sendRedirect (String name)
发送一个响应给浏览器,指示其应请求另一个URL 参考技术A 如果真想学好,建议先了解HTTP协议,然后就会对request response session清晰了。最后,自然了解 最后一个context了。 参考技术B 这些对象各有各的功能,至于传送信息还需使用这些对象的方法。你还不如找些书来仔细斟酌.....
Java Web 乱码
在做关于 Java Web 的项目中,有时候项目的整体设置为 utf-8 编码以后,你还是会发现项目还是乱码。
1.出现乱码实例
正如下图所示:
虽然在代码中,加入了:request.setCharacterEncoding("utf-8"); 结果还是会乱码。
/** * 插入管理员 */ @WebServlet("/intsertinfo") public class IntsertAdmininfoServlet extends HttpServlet { private static final long serialVersionUID = 1L; public IntsertAdmininfoServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UpdateAdminTrueServlet u=new UpdateAdminTrueServlet(); // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); String LoginName=request.getParameter("loginname"); String Password=request.getParameter("password"); String RealName=request.getParameter("realname"); String LastLoginIP="127.0.0.1"; String sql="INSERT INTO [dbo].[Admin] ([LoginName],[Password],[RealName],[LastLoginIP]) VALUES (\'"+LoginName+"\', \'"+Password+"\',
\'"+RealName+"\', \'"+LastLoginIP+"\') "; try { SqlHelp sh=new SqlHelp(); boolean h=sh.insert(sql); if(!h)request.getRequestDispatcher("/listAllAdmin").forward(request, response); else System.out.println("插入失败!"); } catch (Exception e) { e.printStackTrace(); } } }
2.解决乱码问题
为了解决这个问题,我们得定义一个类,代码如下:
/** * 对字符串进行解码 * * @param string * 需要转码的字符串 * @param codeMode * 目标格式 * @return 转码后的字符串 */ public static String decoder(String string, String codeMode) { try { String s = new String(string.getBytes("ISO-8859-1"), codeMode); return s; } catch (Exception e) { e.printStackTrace(); } return null; }
加入这个方法。然后调用这个方法,传入解码的 string(字符串) 和 codeMode(编码的方式),就可以了。
String lname=decoder(request.getParameter("loginname"),"utf-8"); String rname=decoder(request.getParameter("realname"),"utf-8");
希望对您有帮助,欢迎点赞。
以上是关于关于Java web中request response session context的知识详述的主要内容,如果未能解决你的问题,请参考以下文章
chain.doFilter(request,respone) 报空指针