Java Web之Servlet及Cookie/Session
Servlet参考文献:
1、http://www.cnblogs.com/luoxn28/p/5460073.html
2、http://www.cnblogs.com/xdp-gacl/p/3760336.html
一、Servlet简介
Servlet是sun公司提供的一门用于开发动态web资源的技术。
Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
1、编写一个Java类,实现servlet接口。
2、把开发好的Java类部署到web服务器中。
按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet。
二、Servlet实现
Servlet接口SUN公司定义了两个默认实现类,分别为:GenericServlet、HttpServlet。
HttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。
HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,如为GET请求,则调用HttpServlet的doGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆写doGet或doPost方法,而不要去覆写service方法。
通常是通过继承HttpServlet来实现自己的Servlet。要访问所实现的Servlet,需要在web.xml里进行配置,典型配置如下:
<servlet>
<description>test of servlet life cycle</description>
<display-name>ServletLifeCycle</display-name>
<servlet-name>ServletLifeCycle</servlet-name>
<servlet-class>com.zsm.servlet.ServletLifeCycle</servlet-class>
<!--使用<init-param>元素配置Servlet辅助信息,当Tomcat初始化一个Servlet时,会将该配置信息封装成一个ServletConfig对象通过init(ServletConfig config)传递到Servlet,在其中可以访问到。可以不配做-->
<init-param>
<param-name>myServletInfo</param-name>
<param-value>“hello there”</param-value>
</init-param>
<!--
1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
5)当值相同时,容器就会自己选择顺序来加载。-->
<load-on-startup>-10</load-on-startup>
</servlet>
<!--一个servlet-name可以有多个url-pattern;在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是"*.扩展名",另一种格式是以正斜杠(/)开头并以"/*"结尾。如:*.jsp、/*、/abc、/abc/*等-->
<servlet-mapping>
<servlet-name>ServletLifeCycle</servlet-name>
<url-pattern>/ServletLifeCycle</url-pattern>
</servlet-mapping>
三、Servlet的运行过程
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
aaarticlea/png;base64,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" alt="" width="245" height="114" />
aaarticlea/png;base64,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" alt="" width="347" height="72" />
aaarticlea/png;base64,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" alt="" width="322" height="192" />
aaarticlea/png;base64,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" alt="" width="335" height="163" />
aaarticlea/png;base64,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" alt="" width="328" height="195" />
aaarticlea/png;base64,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" alt="" width="393" height="170" />
aaarticlea/png;base64,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" alt="" width="265" height="140" />
aaarticlea/png;base64,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" alt="" width="240" height="98" />
四、Servlet调用图
五、关于HttpServletResponse
参考文献:http://www.cnblogs.com/xdp-gacl/p/3789624.html
- getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOuputStream、Printwriter对象。
- getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。
- Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。
- Serlvet的service方法结束后,Servlet引擎将检查getWriter或getOutputStream方法返回的输出流对象是否已经调用过close方法,如果没有,Servlet引擎将调用close方法关闭该输出流对象。
六、关于HttpServletRequest
参考文献:Request http://www.cnblogs.com/xdp-gacl/p/3798347.html
使用Request对象实现请求转发:
请求转发:指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。
请求重定向和请求转发的区别:
- 一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理,称之为请求转发/307。请求转发只能转发到同一web应用内的其他url去。
- 一个web资源收到客户端请求后,通知浏览器去访问另外一个web资源进行处理,称之为请求重定向/302。请求重定向可以转发到任何url去,不限制在同一web应用内。
请求转发的应用场景:MVC设计模式
在Servlet中实现请求转发的两种方式:
- 通过ServletContext的getRequestDispatcher(String path)方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。 例如:将请求转发到test.jsp页面
RequestDispatcher reqDispatcher =this.getServletContext().getRequestDispatcher("/test.jsp");
reqDispatcher.forward(request, response); - 通过request对象提供的getRequestDispatche(String path)方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。 例如:将请求转发的test.jsp页面
request.getRequestDispatcher("/test.jsp").forward(request, response);
request对象同时也是一个域对象(Map容器),开发人员通过request对象在实现转发时,把数据通过request对象带给其它web资源处理。
七、会话管理
1、会话的概念
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。
2、会话过程中要解决的问题
每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。
3、保存会话数据的两种技术
3.1、Cookie
Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
3.2、Session
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,服务器可以把与该用户相关的数据关联到其对应的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
八、使用Cookie进行会话管理
参考文献:http://www.cnblogs.com/xdp-gacl/p/3803033.html
Cookie有效期:
cookie.setMaxAge(0);//不记录cookie
cookie.setMaxAge(-1);//会话级cookie,关闭浏览器失效
cookie.setMaxAge(60*60);//过期时间为1小时
1、Cookie的设置
//用户访问过之后重新设置用户的访问时间,存储到cookie中,然后发送到客户端浏览器
Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");//创建一个cookie,cookie的名字是lastAccessTime
//将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端浏览器
response.addCookie(cookie);
2、Cookie的删除
//创建一个名字为lastAccessTime的cookie
Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");
//将cookie的有效期设置为0,命令浏览器删除该cookie
cookie.setMaxAge(0);
response.addCookie(cookie);
3、Cookie中存取中文
Cookie cookie = new Cookie("user", URLEncoder.encode("小张"));// 包含中文时必须编码否则会出错
response.addCookie(cookie);
一些细节:
- 一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
- 一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
- 浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。
- 如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。
一个坑:
Cookie有有版本0和版本1,前者早出现,几乎被所有浏览器支持,但不能含空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号等特殊字符,否则浏览器收到时会将值加上双引号,导致服务端收到的与写入的不一致;后支持了特殊字符,但浏览器兼容性比前者差。
为了兼容性,jdk里支持的是版本0,因此要解决双引号问题:写时url encode读时decode。可参阅:https://maoxian.de/2018/02/1480.html
java.servlet.http.Cookie 3.1.0已经0和1版本都支持
九、使用Session进行会话管理
参考文献:http://www.cnblogs.com/xdp-gacl/p/3855702.html
1、Session简单介绍
在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
2、Session和Cookie的主要区别
- Cookie是把用户的数据写给用户的浏览器。
- Session技术把用户的数据写到用户独占的session中。
- Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
3、Session实现原理
(Session技术由服务器如Tomcat实现)
服务器创建session对象后,在服务器内存存储该对象,并把session的id号以cookie的形式回写给客户机(键为JSESSIONID,值为该session的id)。这样,只要客户机的浏览器不关,再去访问服务器时,都会带着session的id号去,服务器发现客户机浏览器带session id过来了,即可在内存中找到对应的session。
即Session会话(如何识别同一浏览器的多次请求属于同一个会话)是通过Cookie实现的。因此如果浏览器禁用Cookie的会会使Session没法work。
- 服务端如何保存不同会话的Session信息: protected Map<String, Session> sessions = new ConcurrentHashMap<>(); ,key为session的id、值为session对象
- 服务端如何保存与某个Session绑定的信息: protected Map<String, Object> attributes = new ConcurrentHashMap<String, Object>(); ,key为各属性名、值为属性值,保存的内容如session有效期及用户存入的其他attribute等
Session的具体实现原理课参阅:https://www.cnblogs.com/chenpi/p/5434537.html
透过现象看本质,可以发现Session技术根本上是依赖于浏览器会在每次请求时自动把某些数据放请求头上传给服务端(即Cookie技术)这一基础的。
Session技术的缺点:
- 内存占用:服务端在内存维护Session数据及关联的Attributes等信息,用户多时占用内存大
- 多节点共享:服务端一个应用常会部署多个实例,此场景下Session无法共享,导致在A实例上登录后在B实例不认为已登录这种情况
- 安全问题:在浏览器上登录某站点后得到的sessionID复制到B浏览器该站点对应的Cookie下,则B会被服务端认为是A,这就是Session劫持问题
4、Session对象的创建和销毁时机
创建:第一次调用request.getSession()方法时就会创建一个新的Session,可以用isNew()方法来判断Session是不是新创建的
- 销毁:session对象默认30分钟没有使用(指的是没有去读或写session,在业务上体现为有没有该session对应的request请求),则服务器会自动销毁session,在web.xml文件中可以手工配置session的失效时间(如下);当需要在程序中手动设置Session失效时,可以手工调用session.invalidate方法,摧毁session。
<session-config>
<session-timeout>15</session-timeout>
</session-config>
注意,session.setMaxInactiveInterval(int interval) 是用来设置最大不操作时间的,超过该时间不读写session则会被服务端删除该session,默认值是30分钟。
5、浏览器禁用Cookie时如何还能让Servlet共享Session中的数据
浏览器禁用Cookie后,服务端创建的Session的id就无法保存到客户端也就无法识别那个用户是哪个了,解决方法:对URL进行重写,当禁用时会自动Encodes the specified URL by including the session ID in it
response.encodeRedirectURL(java.lang.String url) 用于对sendRedirect方法后的url地址进行重写。
response.encodeURL(java.lang.String url)用于对表单action和超链接的url地址进行重写
示例:
out.println("<hr>");
request.getSession();// 获取或创建Session,必须要有此句后面的encodeURL才会在必要时把sessionid编入
String pageContent = "<form action='" + response.encodeURL("VerificationCode") + "' method='post'> "
+ "验证码:<input type='text' name='validateCode'> " + "<img alt='验证码看不清,换一张' src='"
+ response.encodeURL("VerificationCode?createTypeFlag=nl") + "' > <br> "
+ "<input type='submit' value='提交'></form>";
out.println(pageContent);
6、防止表单重复提交
6.1、重复提交的场景:
- 用户点提交后在处理完之前又点提交
- 点提交后刷新页面导致重复提交
- 提交后点后退导致重复提交
6.2、解决方法
- 对于场景1,可以再客户端用js防止重复提交
var isCommitted = false;//表单是否已经提交标识,默认为false
function dosubmit(){
if(isCommitted==false){
isCommitted = true;//提交表单后,将表单是否已经提交标识设置为true
return true;//返回true让表单正常提交
}else{
return false;//返回false那么表单将不提交
}
} - 对于场景2或3,单靠客户端无法解决,对于单节点服务器可以借助Session来解决:生成唯一的标识(Token)放在表单的隐藏域,同时把标识存入当前session域;收到请求时判断表单隐藏域Token是否与当前session中的一致则处理,并删掉session域中的Token。
具体的做法:在服务器端生成一个唯一的随机标识号,专业术语称为Token(令牌),同时在当前用户的Session域中保存这个Token。然后将Token发送到客户端的Form表单中,在Form表单中使用隐藏域来存储这个Token,表单提交的时候连同这个Token一起提交到服务器端,然后在服务器端判断客户端提交上来的Token与服务器端生成的Token是否一致,如果不一致,那就是重复提交了,此时服务器端就可以不处理重复提交的表单。如果相同则处理表单提交,处理完后清除当前用户的Session域中存储的标识号。
在下列情况下,服务器程序将拒绝处理用户提交的表单请求:- 存储Session域中的Token(令牌)与表单提交的Token(令牌)不同。
- 当前用户的Session中不存在Token(令牌)。
- 用户提交的表单数据中没有Token(令牌)。
十、其他
1、Servlet与普通Java类的区别
Servlet是一个供其他Java程序(Servlet引擎)调用的Java类,它不能独立运行,它的运行完全由Servlet引擎来控制和调度。
针对客户端的多次Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其它请求服务,直至web容器退出,servlet实例对象才会销毁。
在Servlet的整个生命周期内,Servlet的init方法只被调用一次。而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。
如果在<servlet>元素中配置了一个<load-on-startup>元素,那么WEB应用程序在启动时,就会装载并创建Servlet的实例对象、以及调用Servlet实例对象的init()方法。用途:为web应用写一个InitServlet,这个servlet配置为启动时装载,为整个web应用创建必要的数据库表和数据。
2、缺省Servlet
如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。如下:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <!-- The mapping for the default servlet -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3、线程安全问题
当多个客户端并发访问同一个Servlet时,web服务器会为每一个客户端的访问请求创建一个线程,并在这个线程上调用Servlet的service方法,service方法会调用doGet或doPost等方法。因此在后者内如果访问了同一个文件资源或全局变量等就有可能引发线程安全问题,访问方法内定义的局部变量则不会有线程安全问题。
Java Web之Servlet及Cookie/Session的更多相关文章
- Java Web之Servlet中response、request乱码问题解决
Java Web之Servlet中response.request乱码问题解决 一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, ...
- java web中servlet、jsp、html 互相访问的路径问题
java web中servlet.jsp.html 互相访问的路径问题 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可 ...
- 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用
准备 JDK (配置JDK_HOME\bin 和 CLASSPATH) 注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本) 对于我们新手来说,JD ...
- JAVA WEB 用servlet实现分页,思路比较清晰和简单。
JAVA WEB 用servlet实现分页,思路比较清晰和简单.借鉴了其他大佬的思路.特别感谢. 是我第一次发表博客,如果有什么错误,欢迎大家指出!,谢谢 一.思路分析 前台一定是有类似这种的界面 点 ...
- Java Web学习(五)session、cookie、token
文章更新时间:2020/09/14 一.引言 动态网页兴起后,会话管理变成开发者需要考虑的一个问题,由于HTTP请求是无状态的,为了区分每个用户,此时引入了会话标识(sessionId)的概念,但是存 ...
- Java Web之Servlet
Servlet参考文献: 1.http://www.cnblogs.com/luoxn28/p/5460073.html 2.http://www.cnblogs.com/xdp-gacl/p/376 ...
- java攻城师之路--复习java web之servlet
需要掌握的知识点:1.Servlet程序编写 ----- 生命周期2.ServletAPI Request Response 3.Cookie 和 Session Servlet 用来 动态web资源 ...
- Java Web(三) Servlet会话管理
会话跟踪 什么是会话? 可简单理解为,用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭服务器,整个过程称为一个会话.从特定客户端到服务器的一系列请求称为会话.记录会话信息的技术称 ...
- Python Web学习笔记之Cookie,Session,Token区别
一.Cookie,Session,Token简介 # 这三者都解决了HTTP协议无状态的问题 session ID or session token is a piece of data that i ...
随机推荐
- Linux 系统中如何进入退出 vim 编辑器
在 Linux 中,vim 编辑器是系统自带的文本编辑器,但要修改某个文本文件,可不是像 Windows 那样操作,更有新手,进入 vi 编辑器后,无法退出以致于强制关机,其实,这个vim(vi)也是 ...
- MySQL-5.7.26解压版安装教程
1.下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-winx64.zip 2.在解压目录中添加 data文件夹 和 my.in ...
- 图解Apache Mina
Apache MINA 是一个用于简化开发构建高性能.高可扩展的网络应用框架.通过JAVA NIO在各种传输协议(如:TCP/IP.UDP/IP)上提供抽象的事件驱动异步API Apache MINA ...
- TR-银行通信相关文档
DMEE配置指南: https://wenku.baidu.com/view/06790649767f5acfa1c7cd73.html F110 DMEE配置: https://wenku.baid ...
- python中的debug
python中有很多的debug方法,大部分新人忽略了Python debugger(pdb)的重要性. 1.命令行运行 在终端中输入命令行 python -m pdb helloword.py ...
- Flask的基础二
一.session 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需 ...
- flutter入门开发的一些坑
flutter入门开发的一些坑 很久没写博客了,最近在准备物联网比赛,顺便抽出时间学习了一下flutter,花了近2周完成了一个查看博客博文的一个小的APPdemo,随便截了两张图,如下: 首页 博客 ...
- ssmtp脚本发中文邮件的笔记
( echo "From:<test@abc.com>"; \ echo "TO:def@abc.com"; \ echo "Subjec ...
- ab接口压力测试工具使用
ab的使用 模拟并发请求100次,总共请求10000次 命令模板: ab -c 100 -n 10000 待测试网站(建议完整路径) 内容解释: Server Software: nginx/1.10 ...
- Qt错误: 程序数据库管理器不匹配 请检查安装
错误提示: C1902: 程序数据库管理器不匹配:请检查安装解决 解决方法: 到D:\VisualStudio2015\VC\bin目录下面拷贝mspdbsrv.exe.mspdb140.dll.ms ...