Request请求对象:
平时通过浏览器浏览网页的时候,浏览器会向服务器发送一些请求,而服务器则会把这些请求封装在HttpServletRequest中,我们可以通过这个对象获得一些用户的请求信息。
Request.getParameter()是获取请求信息的重要API,或者Request.getParameterNames()。更多用法学习,具体可以查阅Servlet文档,可自行搜索下载。
在学习过程中难免会遇到乱码问题,解决办法如下:
POST请求方式一般采用request.setCharacterEncoding("UTF-8"),设置编码规则。如果是GET请求方式,可用通用方式四解决,代码如下:
byte[] buf = username.getBytes("ISO8859-1");
username = new String(buf,"UTF-8");
老外的一般采用ISO8859-1编码方式,所以要先要还原为老外的编码的方式(服务器相关技术老外的嘛),然后在转UTF-8。
Request域:
Request除了是一个请求对象之外,它还是一个域对象,域之中存放了很多请求信息。
Request域常用于转发,request.getRequestDispatcher("转发到的功能页面路径").forward(request, response)。
在重定向的情况下,第一次请求的request域不能再次被第二次请求的request域使用,重定向之后已经是一个新的request域,由此也可以知道,request域的生命周期为一次请求开始到响应结束。显然是这request域不能满足我们日常开发的,这时就得需要需要一个生命周期更长的ServletContext域对象,它的生命周期从web应用部署到停止或者结束。