其他缓存重定向自动刷新功能
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>
相关文章推荐
- java servlet 几种页面跳转的方法,需要的朋友可以参考一下 在访问网页的过程中,页面自动刷新、跳转和重定向是经常用到的,这里就说说在Java中是如何实现这些功能的! 一、页面自动刷新
- ThinkPHP & jQuery.ajax 登录功能,无法重定向,自动刷新
- WebStorm + JetBrains IDE Support 实现自动刷新功能
- JavaScript 动画之链式运动自动刷新功能
- 页面实现验证码功能,点击“注册”按钮后,无论是否完成注册,验证码都能够自动刷新
- PHP学习笔记【20】--PHP禁用缓存设置,自动刷新跳转
- IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法
- Android 之WebView实现下拉刷新和其他相关刷新功能
- 对OkHttp进行封装,实现了只查询缓存,网络请求失败自动查询本地缓存等功能
- 【转载】 IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法
- IE的自动缓存功能
- php 生成水印图片 完整过程 NFS自动同步刷新varnish缓存
- ajax的搜索功能,回车后页面自动刷新
- 动态sql 的增删改,缓存没办法自动刷新,解决方案
- 纯HTML自动刷新页面或重定向
- HttpServletResponse response(中文乱码、文件下载、定时刷新、控制缓存、重定向、注意事项)
- php下自动缓存功能的实现
- 如何禁用或启用 Windows 7 和其他操作系统中的所有自动运行功能
- 如何禁用或启用 Windows 7 和其他操作系统中的所有自动运行功能
- 如何刷新OUTLOOK客户端自动完成缓存!