GET /webDemo/Hellow HTTP/1.1 //请求行
Host: localhost:8080 //请求头
Connection: keep-alive
Accept: text/html
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8
//空行
//实体内容
HTTP/1.1 200 OK //响应行
Server: Apache-Coyote/1.1 //相应头
Content-Length: 0
Date: Thu, 18 May 2017 13:21:23 GMT
//空行
//实体内容
//HttpServletRequest对象的常见方法 //请求行: request.getMethod(); //获取请求的提交方式 request.getRequestURI(); //获取请求的URI request.getProtocol(); //获取请求的协议 //请求头: request.getHeader(); //获取请求头的强求值 request.getHeaderName(); //获取请求头的所有名称 //实体内容: request.getInputStream(); //获取实体内容的输入流
package sun;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Hellow
*/
@WebServlet("/Hellow")
public class GetRequestInfo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建一个字符串来存储请求信息
StringBuffer req = new StringBuffer();
//获取请求行
//获取请求方法,URI,HTTP版本
req.append(request.getMethod()+" "+request.getRequestURI()+" "+request.getProtocol()+"n");
//获取请求头
//获取所有请求头
Enumeration<?> headerName = request.getHeaderNames();
while(headerName.hasMoreElements()){
String header= (String)headerName.nextElement();
req.append(header+": ");
//获取指定请求头的值
Enumeration<?> headerValue = request.getHeaders(header);
while(headerValue.hasMoreElements()){
req.append((String)headerValue.nextElement()+";");
}
req.append("n");
}
req.append("n");
//获取实体内容
InputStream input = request.getInputStream();
byte[] buffer = new byte[1024];
int len = 0;
while((len=input.read(buffer))!=-1){
String str = new String(buffer,0,len);
req.append(str);
}
//输出请求信息
System.out.println(req);
}
}
package sun;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Response
*/
@WebServlet("/Response")
public class ModifyResponseInfo extends HttpServlet {
/**
* Description:
* 通过HttpServletResponse对象,改变响应信息
* */
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1、修改响应行
resp.setStatus(404);
//resp.sendError(404);
//2、修改响应头
resp.setHeader("Server","JBoss");
//3、修改实体内容
//发送字符类型的实体内容
resp.getWriter().write("response");
//发送字节类型的实体内容
resp.getOutputStream().write("response".getBytes());
//4、通过修改响应头,来请求重定向
//发送要给302状态码,location的响应头
/*
当浏览器认识到302状态码的时候,会再次自动向服务器发出一个请求,请求的地址就是location的value值
请求重定向,一共向服务器发出2次请求
*/
resp.setStatus(302);
resp.setHeader("location","/webDemo/index.html");
//也可以直接调用sendRedirect方法直接重定向
//resp.sendRedirect("/webDemo/adv.html");
//5、通过修改响应头,来实现定时刷新页面
//一秒后刷新页面
resp.setHeader("refresh","1");
//也可以定时重定向页面
//resp.setHeader("refresh","1;url=/webDemo/index.html");
//6、通过修改响应头,来修改服务端和客户端的传输的数据类型
//resp.setHeader("content-type","text/html")
//也可以直接调用setContentType方法直接设置
//在web.xml文件中找到对应的数据类型写法
resp.setContentType("text/html");
}
}
//获取GET方式参数: request.getQueryString(); //获取POST方式参数: request.getInputStream();
//根据指定名字来获取参数值
request.getParameter("name");
request.getParameter("password");
//获取所有参数名字
Enumeration<String> params = request.getParameterNames();
while(params.hasMoreElements()){
String param = params.nextElement();
String value = request.getParameter(param);
}
name = new String(name.getBytes("iso-8859-1"),"utf-8");
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<!--在这里,加上属性URIEncoding,及指定编码值-->
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有