`
tempsitegoogle
  • 浏览: 867718 次
文章分类
社区版块
存档分类
最新评论

黑马程序员__HttpServletRequest基本概念总结

 
阅读更多

---------------------- android培训java培训、期待与您交流! ----------------------

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。

获得客户机信息:

getRequestURL():返回客户机发出请求时的完整URL

getRequestURI():返回请求行中的资源名部分------用于做权限限定,页面访问统计

getQueryString():返回请求行中的参数部分

getRemoteAddr():返回发出请求的客户机的IP地址

getRemoteHost():返回发出请求的客户机的完整主机名

getRemotePort():返回客户机所使用的网络端口号

getLocalAddr():返回WEB服务器的IP地址

getLocalName():返回WEB服务器的主机名

getMethod():得到客户机的请求方式

获取头相关方法:

getHeader():获取请求头和请求数据

getHeaders()

getHeaderNames():获取所有头名

获取提交的数据(一般都要先检查,再使用):

getParameter(“username”)

getParaterNames():获取提交的所有数据名,返回Enumeration

getParameterValues():获取名称带过来的所有信息

getParameterMap():

获取数据的两种方式:超链接、表单

URL后面如果跟了中文数据,要先编码再提交

提交数据的乱码问题:

get方式:String username=request.getParameter(“username”);

String name1=new String(username.getBytes(“iso-8859-1”),”UTF-8”);

Post方式:request.setCharacterEncoding(“UTF-8”);

注:超链接提交方式都是get方式

Request对象实现请求转发:请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理;

请求转发的应用场景:MVC(mode—javabean view—jsp cotroller--servlet)设计模式

Request对象提供了一个getRequestDispatcher()方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。

Request对象同样也是一个域对象,开发人员通过request对象在实现转发时,把数据通过request对象带给其他web资源处理:

setAttribute( ):

getAttribute( );

removeAttribute( );

getAttributeNames( );

String data=”aaaaa”;

Request.setAttribute(“data”,data);

Request.getRequestDispatcher(“/message.jsp”).forward(request,response);

注:跳转之后记得return

forward方法用于将请求转发到RequestDispatcher对象封装的资源。

如果在调用forward方法之前,在Servlet程序中写入的部分内容已经被真正的传送到了客户端,forward方法将抛出IllegalStateException异常;

如果在调用forward方法之前向Servlet引擎的缓冲区(response)中写入了内容,只要写入到缓冲区中的内容还没有被真正输出到客户端,forward方法就可以被正常执行,原来写入到输出缓冲区中的内容将被清空,但是,已写入到HttpServletResponse对象中的响应头字段信息保持有效。

include实现页面包含!

获取URL资源使用“/”,获取硬盘上的资源使用“\”;

防盗链:

String referrer=request.getHeader(“referer”);

If(referrer==null|| !referer.startsWith(“http://localhost”)){

Response.sendRedirct(“/day06/index.jsp”);

Return;

}

String data=”凤姐日记

Response.getWriter().write(data);

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics