操作HTTP Request头的方法
Java代码:public class MyRequestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html");
//获取请求的方法
String method = req.getMethod();
String uri = req.getRequestURI();
String contentType = req.getContentType();
//输出获取参数的信息
PrintWriter writer = resp.getWriter();
writer.println(String.format("<h2>method:%s</h2>",method));
writer.println(String.format("<h2>uri:%s</h2>",uri));
writer.println(String.format("<h2>contentType:%s</h2>",contentType));
}
}
web.xml
<!-- 配置MyRequestServlet -->
<servlet>
<servlet-name>myreq</servlet-name>
<servlet-class>MyRequestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myreq</servlet-name>
<url-pattern>/myreq</url-pattern>
</servlet-mapping>
结果:
操作HTTP Response头的方法
核心方法1-——自动刷新页面
Java代码:
public class MyReseponseServlet_Refresh extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html");
//实现页面自动刷新
// resp.setHeader("Refresh","1");
resp.setIntHeader("Refresh",1);
PrintWriter writer = resp.getWriter();
writer.println(String.format("<h1>Data:%s</h1>",new Date()));
}
}
web.xml
<!-- 配置 Refresh -->
<servlet>
<servlet-name>myref</servlet-name>
<servlet-class>MyReseponseServlet_Refresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myref</servlet-name>
<url-pattern>/myref</url-pattern>
</servlet-mapping>
核心方法2-——重定向页面【两种方法】
- 方法1:设置状态码
- 方法2:resp.sendRedirect
Java代码
public class MyReseponseServlet_Tiaozhuan extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html");
//实现重定向
String name = req.getParameter("name");
String pwd = req.getParameter("pwd");
if(name!=null&& pwd!=null && name.equals("root")&&pwd.equals("root")){
//用户名+密码正确,跳转
//方法1
// resp.setStatus(301);
// resp.setHeader("location","http://www.baidu.com");
//方法2:
resp.sendRedirect("http://www.baidu.com");
}else {
PrintWriter writer = resp.getWriter();
writer.println("<h1>输入的用户名或密码有误!</h1>");
}
}
}
web.xml
<!-- 配置重定向-->
<servlet>
<servlet-name>mytz</servlet-name>
<servlet-class>MyReseponseServlet_Tiaozhuan</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mytz</servlet-name>
<url-pattern>/tiaozhuan</url-pattern>
</servlet-mapping>