当前位置: 首页 > news >正文

如何开发网站自己做站长wordpress文章末尾添加相关文章

如何开发网站自己做站长,wordpress文章末尾添加相关文章,网站开发后期维护更新,眼镜网站模板在做 Web Application 时#xff0c;因为 Web Project 有 session 自动失效的问题#xff0c;所以如何让用户登录一次系统就能长时间运行三个月#xff0c;就是个问题。后来#xff0c;看到 session 失效的拦截器代码#xff0c;就猜想能否通过拦截器来实现。查资料发现可…在做 Web Application 时因为 Web Project 有 session 自动失效的问题所以如何让用户登录一次系统就能长时间运行三个月就是个问题。后来看到 session 失效的拦截器代码就猜想能否通过拦截器来实现。查资料发现可行用户登录时将帐号密码存入cookiecookie可以存储1年至更久当session失效被拦截时在拦截器内读取cookie 中的用户名和密码后再登录。(登录过程隐藏对用户不可见)。在实践过程中遇到个问题 在拦截器内重新实现登录过程(包括写session)此时写session是成功的但是返回被拦截器拦截的 Action 方法内时Action 内的方法读取的session却是空的。(2017-06-12 更新出错原因是保存的sesion和读取的session分别是Strut2包装的session和JSP/Sevlert内置的session导致读取为空参见)方法一设置 session-timeout 参数值最简单的办法是在Java Web 中可通过设置 web.xml 中的 session-timeout 为 -1 即可实现 session 永不失效。Java Web中有关 Session 失效的设置有三处1. 页面或者代码内通过 session.setMaxInactiveInterval2. 项目的web.xml 中的 session-timeout (验证有效)3. Tomcat 的 server.xml 中的  (该方法本文未验证网上搜集)defaultSessionTimeOut3600 isWARExpandedtrueisWARValidatedfalse isInvokerEnabledtrueisWorkDirPersistentfalse/4. Tomcat 的 web.xml 中的 (该方法本文未验证网上搜集)30分别对应1. 当前会话生效2. 整个Web应用有效3. 不详4. 不详设置产生效果的优先顺序很显然是1 - 2 没有指明就是用默认设置。另外 setMaxInactiveInterval的参数是秒session-config当中配置的session-timeout是分钟。  设置session-timeout是永久有效。【setMaxInactiveInterval(-1)也是元永久有效(本人未测试)】。测试是否是永久有效很简单只需要在本地测试(localhost)时将本机的时间调整为几个月之后即可。但在实际使用中并不理想因为超出 tomcat 的默认是 30 分钟如果修改 tomcat 默认值会影响其他项目不说也很容易遗忘对今后产生莫名其妙的问题。方法二使用 Struts2 拦截器原理在使用了 Struts 框架的代码中使用拦截器测试Session 是否为空若是空利用 cookie 里藏的用户名和密码进行登录并保存到 session 中。代码(本人亲测实际使用)1. 登录保存到 Struts2 包装的 session中(注意前后session要对应)根据项目需要可决定是否加密。我示例未加密。//你的登录方法内部//user 是登录成功后的用户对象ActionContext.getContext().getSession().put(user, user);//创建或覆盖COOKIECookie ckName new Cookie(jsjgUserName, username);Cookie ckPwd new Cookie(jsjgUserPwd, password);ckName.setMaxAge(365*24*60*60);ckPwd.setMaxAge(365*24*60*60);response.addCookie(ckName);response.addCookie(ckPwd);2. 拦截器代码packagecom.tools;importjava.util.Map;importjavax.servlet.ServletContext;importjavax.servlet.http.Cookie;importjavax.servlet.http.HttpSession;importorg.apache.struts2.ServletActionContext;importorg.apache.struts2.StrutsStatics;importorg.springframework.context.ApplicationContext;importorg.springframework.web.context.support.WebApplicationContextUtils;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensymphony.xwork2.interceptor.Interceptor;importcom.zhzx.class_entity.User;importcom.zhzx.service.UserService;SuppressWarnings(serial)public class MyInterceptor implementsInterceptor {public voiddestroy() {}public voidinit() {}public String intercept(ActionInvocation actionInvocation) throwsException {//确认Session是否过期Map strutSession actionInvocation.getInvocationContext().getSession();Cookie[] cookiesServletActionContext.getRequest().getCookies();User us(User) strutSession.get(user);String userName ;String userPwd ;if (us!null!.equals(us)) {returnactionInvocation.invoke();}else{//从cookie得到登录账户if(cookies ! null){for(Cookie cookie:cookies){if(cookie.getName().equalsIgnoreCase(jsjgUserName)){userNamecookie.getValue();System.out.println(userName);}else if(cookie.getName().equalsIgnoreCase(jsjgUserPwd)){userPwdcookie.getValue();}}//登录if(userName ! null userPwd ! null){//因项目使用了SSH所以这里是获取Spring管理的beanServletContext context (ServletContext) actionInvocation.getInvocationContext().get(StrutsStatics.SERVLET_CONTEXT);ApplicationContext ctxWebApplicationContextUtils.getWebApplicationContext(context);UserService userService (UserService)ctx.getBean(UserService);//是否注入成功System.out.println(userService);//登录并放入Strtu2包装的sessionUser useruserService.Login(userName);if(user ! null user.getPassword().toLowerCase().equals(userPwd.toLowerCase())){strutSession.put(user, user);}returnactionInvocation.invoke();}}return timeout;}}}然后拦截器按照常规方法使用即可。拦截器可以看看 Struts in Action Struts实战之类的书及PDF有详细的讲解和例子。吐槽Java是太庞杂了框架多不说使用起来也方法各样一会儿流行配置文件一会儿流行注解一会SSH一会SSM一会Sping MVC。我就想说这不都是自己折腾自己么学习成本不是成本么发明出这么多轮子软件行业不还是加班。旧的软件项目不还是要维护。Java体系真是自己折腾自己真心无爱了。我觉得框架只是工具就像武侠世界里真正的高手是用什么工具都可以杀人于无形那管你是用很多人鄙视的 ASP.NET 还是自以为很牛逼的Java Web甲方和老板关心的无非是你做完了么做的好看么是不是程序员工程师们还是消停点好多关心下自己的健康和身边的人不好么
http://www.huolong8.cn/news/381741/

相关文章:

  • 管理咨询的主体包括哪些杭州网络排名优化
  • html静态网站模板下载WordPress离线编写
  • 高平企业网站平台网站怎么推广
  • 网站建设目标责任衡阳建设网站制作
  • 教育投资网站建设方案深圳住 建设局网站首页
  • 官方网站建设合同施工企业资质标准2021
  • 如果自己制作网站星宿网站建设
  • 用dw做网站whcms wordpress
  • 星座 网站 建设电商怎么做链接
  • 网站模板对seo的影响吗在公司做网站是什么职位
  • 如何查看网站的建设方式做网站用什么软件设计好
  • 网站建设方案流程医药公司网站建设备案
  • php源码网站建设教程网站建设绩效考评
  • 北京网站页设计制作营销成功案例网站
  • 留言墙 wordpress如何优化网站提高排名
  • 郑州专业个人网站建设毕业生 网站开发
  • 网站建设空间申请公关公司是做什么的
  • 网站建设 荆州湖南网站建设服务
  • 软装设计网站大全河田镇建设局网站
  • 织梦建设网站需要什么软件网站专业建设公司
  • 宁波网站优化软件wordpress 微信同步
  • 手机网站html声明免费网站制作
  • 张家界优秀网站建设企业建设网站找网站公司吗
  • 泰安企业建站公司平台网站建设对公司有什么好处
  • 家政公司响应式网站建设案例网络营销技巧培训班
  • 90设计网站会员全站通与电商模板的区别论述简述网站制作的步骤
  • 常州做网站价位网站空间流量不够
  • 可口可乐公司的企业网站建设做影视网站用主机还是用服务器
  • 苏州关键词网站排名7k7k网页游戏入口
  • 做螺杆比较出名的网站个人做网站费用