您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
03_会话技术_Cookie_快速入门
发布时间:2022-08-25 23:15:13编辑:雪饮阅读()
Servlet代码模板
我们每次新建一个servlet时候假如我们希望doGet和doPost都能直接被应用,一般就是在doGet里面调用doPost,并且我们习惯的喜欢在注解位置不用”name=”这种形式,而是使用直接”/xxx”这种形式。则我们可以在如下位置:
File=>Settings...=>Editor=>File and Code Templates=>Other=>Web=>Servlet Annotated Class.java处修改这个默认模板
那么哥这里就修改成如:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
@javax.servlet.annotation.WebServlet("/${Entity_Name}")
public class ${Class_Name} extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
this.doPost(request,response);
}
}
cookie创建及获取
这个就很简单了,首先咱们创建cookie的servlet如:
ServletCookie.java:
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
Cookie c=new Cookie("msg","kasumi");
//发送cookie
response.addCookie(c);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
然后是获取cookie的servlet了ServletCookie2.java:
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("/ServletCookie2")
public class ServletCookie2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie[] cs=request.getCookies();
if(cs!=null){
for(Cookie c:cs){
System.out.println(c.getName()+":"+c.getValue());
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
此时手动访问下这里第一个servlet后,再手动访问下第二个servlet后就能看到第一个servlet所创建的cookie了,但是本人曾经目睹过第二个servlet获取cookie数组的时候发现有获取到非第一个servlet所创建的cookie哦(除了第一个servlet所创建的cookie外还有一个很奇怪命名的cookie(当然不是在我自己实践时遇到的,而是看到别人遇到的,难道是对方win7我是win10.。。))
关键字词:会话技术,Cookie,快速入门