http及servle一些整理

做软件行业这么长时间了,一直感觉基础不牢固,所以最近趁项目不忙重头打打基础,以下是对http及servlet进行了整理。    

 

客户端向服务端发起的HTTP请求由三部分组成:请求行;消息报头;请求正文
          请求行:包括方法符号和URI和协议版本。 GET /J5EE/ThreeServlet?deptno=10 HTTP/1.1
          消息报头包括很多客户端信息
         Cache-Conctrl 缓存指令一般设置为no-cache
         connection 连接形式,最常见Kepp-Alive
          accept 表示客户端可以接受那些类型的信息,例如text/html表示接收html,*/*表示任何类型
          accept-encoding 客户端支持的编码
          accept-language 客户端语言种类,可以在internet选择--语言中设置,可以判断这个值来决定显示什么语种的网页
          host 请求资源的主机和端口号
          user-agent 获得客户端操作系统信息和浏览器信息
          referrer  页面来源
          content-length 发送的请求正文的长度
         HTTP请求-----请求正文:是请求最后的内容,如果用POST发送数据的话就可以看到请求正文的内容,用的是ISO编码,GET方法发送数据没有请求正文。
    请求报头的相关方法:取得name的值 String getHeader(String name) ; 取得报头的所有名字 Enumeration getHeaderNames();  
         httpServletRequest相关方法:获取web应用路径 requst.getContextPath();

         获得请求的方法 request.getMethed();

         获得协议名 reqest.getProtocol();

         获得参数字符串 request.getQueryString();

         获取请求URI request.getRequestURI();

         获取请求URL request.getRequestURL();

         获取用户IP地址 request.getRemoteAddr();

         获取服务器IP reqeust.getLocalAddr();

         获取服务器主机名 request.getLocalName();

         获取服务器端口 request.getLocalPort();
2、请求转发:允许把请求转发给同一个应用程序中的其他web组件。转发的原组件和目标组件共享request范围的内的共享数据。java.servlet.RequestDispatcher来实现,RequestDispatcher对象提供forward方法实现转发功能,具体实现如下
          1、RequestDispatcher rd = request.getRequestDisPatcher("/xxServlet"); rd.forward(request, response);
           2、RequestDispatcher rd = this.getServletContext().getRequestDisPatcher("/xxServlet");  rd.forward(request, response);
                                    请求转发                                             和                                              重定向 的对比
 目标范围                  只能转发同一WEB应用的组件                                                可以是同一WEB应用,也可以是其他站点
 "/"开头含义              表示WEB应用程序根目录                                                      "/"表示整个WEB站点的根目录
 地址栏显示URL      请求转发结束后,地址栏URL不变                                       重定向结束后,地址栏URL变成重定向目标URL
 请求对象/相应对象 只产生一次请求对象和相应对象,并共享                                  会产生两次请求对象和相应对象。
    

3、httpServletResponse,主要时将servlet处理结果发给客户端,
 报头设置相关方法:禁止页面缓存:response.setHeader("Cache-control","no-cache"); response.setDateHeader("Expires",0); 网页每隔2秒自动刷新 response.setIntHeader("Refresh", 2); 网页隔一段时间自动跳转到另一个地址 response.setHeader("refresh", "10; http://baidu.com"); 
 其他方法: 获取用于页面输出的PrintWriter对象 PrintWriter getWriter();  设置相应的MIME类型 void setContentTypee("text.html; charset=GBK"); 设置编码格式 response.setCharacterEncoding("GBK");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值