respose和requse
1.respose对象:
Response对象是一个用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应的对象。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
2.respose:重定向是什么?
就是跳转页面
在:doGet(){}加
resp.setStatus(302);//302:表示:进行重定向操作
resp.setHeader(“Location”,"/demo16_war/helloo"); //
///demo16_war/helloo:就是跳转页面的路径
package com.example.demo16;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class HelloServlet4 extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
this.getServletContext().setAttribute("name","张三");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//super.doGet(req, resp);
resp.getWriter().println("helloworld");
resp.setStatus(302);
resp.setHeader("Location","/demo16_war/helloo");
// String name= (String) this.getServletContext().getAttribute("name");
// System.out.println(name);
//text();
}
protected void text() throws IOException {
//Properties properties=new Properties();//创建文件对象
//InputStream is=this.getServletContext().getResourceAsStream("WEB-INF/dp.properties");//这里的路径,
// properties.load(is);
//String driverClassName=properties.getProperty("driverClassName");
// String url=properties.getProperty("url");
//String password=properties.getProperty("password");
// String usernane=properties.getProperty("username");
// System.out.println(driverClassName);
//System.out.println(url);
//System.out.println(password);
//System.out.println(usernane);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
效果:
当我输入:
http://localhost:8080/demo16_war/htrt,
访问的网址就变成:
http://localhost:8080/demo16_war/helloo
xml配置:
<servlet>
<servlet-name>demo3</servlet-name>
<servlet-class>com.example.demo16.HelloSerrvlet3</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>abc</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>demo3</servlet-name>
<url-pattern>/helloo</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>demo4</servlet-name>
<servlet-class>com.example.demo16.HelloServlet4</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>demo4</servlet-name>
<url-pattern>/htrt</url-pattern>
</servlet-mapping>
4.定时跳转页面:
在doget(){},添加下面代码
resp.setStatus(302);
//resp.setHeader("Location","/demo16_war/helloo");
resp.setHeader("Refresh","5,url=/demo16_war/helloo");//5s,将网址:自动切换成:http://localhost:8080/demo16_war/helloo,完成定时换网页效果
5.页面定时跳转(扩展)
建立一个:web项目下html文件
<meta http-equiv="Refresh" content="5; url=/demo16_war/dom2.html">//这里设置了:跳转,Refresh,5s,url=/demo16_war/dom2.html,跳转路径(网址)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Refresh" content="5; url=/demo16_war/dom2.html">//
<title>Document</title>
</head>
<body>
<h1>domo1.html</h1>
<h3>页面在<span>5</span>秒后跳转到demo.html</h3>
<script>
var span=document.querySelector("span");
var i=5;
span.innerHTML=4;
setInterval(function(){
span.innerHTML=i;
i--;
},1000)
</script>
</body>
</html>
效果:
5s后,跳转页面(html)