在重启tomcat服务器了,如何保证之前的session还存在

在重启tomcat服务器了,如何保证之前的session还存在,第1张

一般情况下,session都是存储在内存里,当服务器进程被停止或者重启的时候,内存里的session也会被清空,如果设置了session的持久化特性,服务器就会把session保存到硬盘上。
你可以设置session的持久化特性试试看,当服务器进程重新启动或这些信息将能够被再次使用。
建议你最好还是把数据存放进数据库来实现计数器。

1、首先直接点击tomcat服务器窗口的x关闭按钮。
2、其次把tomcat服务器窗口置为当前窗口,然后点击快捷键CTRL+C。
3、最后找到tomcat下的bin目录下的shutdownbat文件,双击,就可以关闭tomcat服务器。

先说解决办法吧,后面在分析:
1把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,
2修改/tomcat/conf/webxml文件:
<servlet><servlet-name>default</servlet-name><servlet-class>orgapachecatalinaservletsDefaultServlet</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>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet
3修改/tomcat/conf/serverxml文件:
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valvehtml --><!-- <Valve className="orgapachecatalinaauthenticatorSingleSignOn" /> --><!-- Access log processes all example Documentation at: /docs/config/valvehtml --><!-- <Valve className="orgapachecatalinavalvesAccessLogValve" directory="logs" prefix="localhost_access_log" suffix="txt" pattern="common" resolveHosts="false"/> --><!----><Context path="/ser" docBase="D:\project\myProject\editor\WebRoot"></Context><!--<Context path="/mvc" docBase="D:\project\myProject\你的项目名\WebRoot"></Context>--></Host>
分析:
重新redeploy的时候, tomcat 会同步你本地的文件 ,因为本地没有相应的文件夹导致文件丢失。
这只是在开发过程中会遇到的问题 实际应用中 tomcat 只会 startupbat/sh shutdownbat/sh
我们这样做,其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到工程了,
上传的就不会仅仅只在/tomcat/webapps/目录,而直接到了你的工程里,
不管你怎样重启项目,或者清理缓存,上传的文件依然存在!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10656941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存