您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
08_会话技术_Cookie_细节4_Cookie共享
发布时间:2022-08-28 15:06:26编辑:雪饮阅读()
本篇对于Cookie的setPath的了解,就是设置在当前域名下的作用域,当设置为“/”,则当前域名下所有页面路径都可以访问到该cookie的。
为了区分不同的“项目”,这里重点是如何建立多个项目(module)在同一个域名下。这里为了能测试不同项目(这里项目要模拟成在设置cookie的setPath方法所在路径的所在项目根路径的下级)。
首先需要新建一个module,然后同样是javaee7,只是这次不要勾选那个创建web.xml了。
创建新的module后,tomcat哪里的配置(Run/Debug Configurations)默认变成了这个新建的module的配置了。然后需要在那个deployment/deploy at the server startup处增加一个原来那个设置setPath的项目,新增后的这个Application context的值要修改为和我们最新这个模块默认配置的这个deployment/deploy at the server startup的Application context不同的值,例如为我们最新这个模块默认配置的这个deployment/deploy at the server startup的Application context值中路径的下级路径。
则我这里的Application context配置如:
/day17_war_exploded
/day17_war_exploded/youku
然后这个时候你可以无法直接启动,则可以直接停止之后再启动即可。
然后设置setPath的地方如:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/ServletCookie")
public class ServletCookie extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie c1=new Cookie("msg","霞");
//设置cookie的作用域,若直接设置为“/”则在该域名下所有“项目”都能访问到
c1.setPath(request.getParameter("path"));
response.addCookie(c1);
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("设置cookie的path为:"+request.getParameter("path"));
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
获取cookie的地方如:
String write="获取cookie<br/>";
Cookie[] cs=request.getCookies();
if(cs!=null){
for(Cookie c:cs){
write+=c.getName()+":"+c.getValue()+"<br/>";
}
}
else{
write="暂无cookie";
}
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(write);
然后在实验过程中发现有时候能拿到这样的cookie:
获取cookie
JSESSIONID:5003BFFD75D2DFF7268328163809494F
这可能就是之前有见过别人获取的那个奇怪的cookie,而我这里却没有获取到,这次终于出来了,但是我不晓得到底是因为什么原因出来的。后面有时间再研究哈。
关键字词:会话技术,Cookie,细节4,Cookie共享