您的位置:首页 > 其它

其他缓存重定向自动刷新功能

2015-05-03 23:45 232 查看

缓存机制

package com.taxue.servletday03;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* /nocacheservlet
* @author wqk
* 一个不缓存一个缓存
*
*/
public class NoCacheServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//不缓存
response.setIntHeader("Expires", -1);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma",  "no-cache");
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("当前时间:"+new Date().toString());

}

//缓存
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//缓存一个月
response.setDateHeader("Expires", System.currentTimeMillis()+1000l*3600*24*30);
InputStream  in = new FileInputStream(this.getServletContext().getRealPath("1.jpg"));
OutputStream out = response.getOutputStream();
byte[] bs = new byte[1024];
int i = 0;
while ((i=in.read(bs)) != -1){
out.write(bs, 0, i);
}
in.close();

}

}


重定向

package com.taxue.servletday03;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* 重定向 redirectservlet
*/
public class RedirectServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//		重定向 redirectservlet
response.sendRedirect("/servlet/index.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

}

自动刷新功能

package com.taxue.servletday03;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* 访问refresh 自动刷新功能
*/
public class RefreshServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("恭喜你注册成功!三秒跳转");
response.setHeader("refresh", "3;url=www.baidu.com");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

}


类加载器

反射

package com.taxue.servletday03;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Properties;

public class Service {
public void methdo1() throws FileNotFoundException, IOException{
//--在没有ServletContext的环境下,如果想要读取资源,可以使用类加载器以加载类的方式加载资源,
//		这里要注意,类加载器从哪个目录加载类,就从哪个目录加载资源,
//		所以此处的路径一定要给一个相对于类加载目录的路径
Properties prop = new Properties();
prop.load(new FileReader(Service.class.getClassLoader().getResource("config.properties").getPath()));
System.out.println(prop.getProperty("username"));
System.out.println(prop.getProperty("password"));
}
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "王乾坤";
String urlstr = URLEncoder.encode(str, "utf-8");
System.out.println(urlstr);
String jmstr = URLDecoder.decode(urlstr, "utf-8");
System.out.println(jmstr);
}

}
config.properties

username=zhangshan
password=123


获取客户 端信息

package com.taxue.servletday03;

import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*  http://127.0.0.1:8080/servlet/getpcmsg * 获取客户 端信息
* @author wqk
*/
public class GetPcMsg extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取客户端完整的url 例:http://localhost:8080/servlet/getpcmsg
String url = request.getRequestURL().toString();
//获取项目资源的url  例:/servlet/getpcmsg
String itemUrl = request.getRequestURI().toString();
//获取访问项目资源的访问者的地址例:/servlet/getpcmsg
String remoteAddr = request.getRemoteAddr();
//获取请求头
Enumeration<String> enumeration = request.getHeaderNames();
while (enumeration.hasMoreElements()) {
String headername = enumeration.nextElement();
String headervalue= request.getHeader(headername);
System.out.println(headername+" : "+headervalue);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}


乱码问题

servle代码
package com.taxue.servlet.garbled;
/**
* http://127.0.0.1:8080/servlet/garbled * 问题:乱码问题的解决
* pot和get提交乱码不一样,都可用get提交方式解决
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Garbled extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//		核心思想 start
String username = request.getParameter("username");
username = new String(username.getBytes("iso8859-1"),"utf-8");
System.out.println(username);
//		核心思想 end
Enumeration<String> enumeration = request.getParameterNames();
while(enumeration.hasMoreElements()){
String name = enumeration.nextElement();
String value = request.getParameter(name);
value = new String(value.getBytes("iso8859-1"),"utf-8");
System.out.println(name+":"+value);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");// 核心思想 end
Enumeration<String> enumeration = request.getParameterNames();
while(enumeration.hasMoreElements()){
String name = enumeration.nextElement();
String value = request.getParameter(name);
System.out.println(name+":"+value);
}
}

}
页面

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- 测试POST/GET请求参数-->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>POST提交</h1><hr>
<form action="http://127.0.0.1:8080/servlet/garbled" method="POST">
姓名:<input type="text" name="username"/>
地址:<input type="text" name="addr"/>
<input type="submit" value="提交" />
</form>
<h1>GET提交</h1><hr>
<form action="http://127.0.0.1:8080/servlet/garbled" method="GET">
姓名:<input type="text" name="username"/>
地址:<input type="text" name="addr"/>
<input type="submit" value="提交" />
</form>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐