验证数据后,在使用
url:
以/开头
1.服务器用,/代表:当前web应用[WebRoot]
2.客户端用,/代表:网站
request.getRequestDispatcher("/publi/xx.jsp").forward(request, response);//当前web应用
this.getServletContext().getReadlPath("/publi/xx.jsp");//当前web应用
this.getServletContext().getResourceAsStream("/publi/xx.jsp");//当前web应用
response.sendRedirect("/xxProject/publi/xx.jsp");//代表:网站 + web应用
//<a href="/xxProject/publi/xx.jsp"></a> //代表:网站 + web应用
//<form action="/xxProject/publi/xx.jsp">//代表:网站 + web应用
//</form<pre name="code" class="java">
cookie.setPath("xxProject");//有效目录
cookie
1浏览器维护cookie
2一个cookie表示一个信息,可以传多个cookie,大小限制4kb
3cookie默认有效期是当前绘画,浏览器缓存中;本地存储:setMaxAge 秒 , 值为0浏览器将删除cookie[path也要一致]
Cookie cookie = new Cookie("name", "value");
cookie.setValue("");
cookie.getValue();
cookie.setMaxAge(1);// 秒 有效期,浏览器本地存储与维护
cookie.getMaxAge();//没有设置,cookie当前会话有效,缓存中
cookie.setPath("uri");//有效目录
cookie.getPath();
cookie.setDomain(""); //域名 eg: baidu.com 浏览器会阻止这类cookie
cookie.getDomain();
cookie.getName();
session
1服务器维护session
2.生命周期:第一次getSession时,创建session; 默认30分钟无使用被销毁[可配置 web.xml中 ] 或者 session.invalidate();
<session-config>
<session-timeout>10</session-timeout>
</session-config>
session.invalidate();//销毁session
3.JSessionid: 基于cookie[默认时间],传JSessionid给浏览器
cookie: JSessionid=ADSAXX123 ; 当getSession时,判断JSessionid判断是否存在,创建?
session.setAttribute("name", "");//设置值 【多个】
Object attribute = session.getAttribute("name");//取值
tring nameString = (String) attribute;//覆盖cookie 解决 基于cookie[默认时间] 的问题
String id = session.getId();
Cookie cookie = new Cookie("JSESSONID", id);
cookie.setPath("xxProject"); //paht要一致cookie.setMaxAge(30*60);//半小时response.addCookie(cookie);
当cookie禁止后,还想使用session,url加sessionid :
response.encodeRedirectURL("url"); //重定向 //没有带sessionid,重写url地址。如果带了,统一资源定位器不变
response.encodeURL("url");
4.防表单重复提交 struts1处理方案:
session.setAttribute("token", "随机数");
<input type="hidden" value="${token}" />
hidden携带随机数 token
//判断request.getParameter("token");//不空,否着不让提交session.getAttribute("token");//不空,且要和request带过来的一致,否着不让提交//处理提交 session.removeAttribute("token");//移除
UUID.randomUUID().toString(); // 随机数 全球唯一
Base64 + MD5
Base64:一个字节8bit,3个字节 转 4个字节,每个取6bit 高位补0,实际范围0-63【64个】;可逆
5.验证码,验证