// 包名+类名 javax.servlet.http.cookie; // 初始化,为一个键值对,key---value cookie ck = new cookie("username", "icetea"); // 设置cookie在浏览器中存储的时间,参单位 秒s ck.setMaxAge(60 * 60 * 24 * 7); // 设置cookie的path,当访问该路径时request会携带这个cookie,“/”表示域名下的所有路径都要携带 ck.setPath("/"); // 将cookie添加到响应中,让服务器响应给浏览器 response.addcookie(ck);JavaWeb三大基础组件
包括Servlet、Filter、Listener
ServletServlet是运行在服务端的的java程序,是sun公司提供的一套规范。
servlet的生命周期何时创建: 用户第一次访问Servlet创建Servlet的实例 (单实例),也可以在web.xml中设置
何时销毁: 容器关闭的时候。
JavaEE规范中提供Servlet接口实现类GenericServlet:通用servlet实现。没有实现service
HttpServlet:与Http协议有关的实现。实现service方法,完成与http协议有关的 *** 作。request.getMethod() 获得请求方式(get、post),将调用doGet(),如果是post,将调用doPost()
url-pattern的设置有四种方式如下:
- 精确匹配:/user 开头,必须以/开头。当url为http://localhost:8080/webproject/user 时会匹配该Servlet。
- 路径匹配:/user
@Override
public Map
getParameterMap() { // 调用request中的方法获取map值 Map map = request.getParameterMap(); // 遍历map进行,乱码处理 Set keys = map.keySet(); for (String k : keys) { String[] vs = map.get(k); // 遍历循环参数值,进行乱码处理 for (int i = 0; i < vs.length; i++) { try { String newValue = new String(vs[i].getBytes("ISO8859-1"), "utf-8"); // 覆盖原来的值 vs[i] = newValue; } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } } return map;// 传回的是已经处理过乱码的map } @Override public String getParameter(String name) { String str = request.getParameter(name); try { str = new String(str.getBytes("ISO8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } return str;// 传回已经处理过乱码的字符串 } @Override public String[] getParameterValues(String name) { String[] strs = request.getParameterValues(name); // 遍历循环进行乱码处理 for (int i = 0; i < strs.length; i++) { try { strs[i] = new String(strs[i].getBytes("ISO8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } return strs;// 传回已经处理过乱码的字符串数组 } } Listener listener是servlet 的监听器。随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。当被监视的对象发生情况时,立即采取相应的行动(观察者模式)。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象,通过监听器,可以自动激发一些 *** 作。比如:监听在线用户数量等等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)