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

来源:互联网 发布:美国士兵工资知乎 编辑:程序博客网 时间:2024/05/10 03:24

缓存机制

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 {//重定向 redirectservletresponse.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=zhangshanpassword=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/getpcmsgString url = request.getRequestURL().toString();//获取项目资源的url  例:/servlet/getpcmsgString itemUrl = request.getRequestURI().toString();//获取访问项目资源的访问者的地址例:/servlet/getpcmsgString 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 {//核心思想 startString 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");// 核心思想 endEnumeration<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>



0 0
原创粉丝点击