session

过滤器验证用户登录

浪子不回头ぞ 提交于 2020-02-14 18:47:19
login.jsp <a href="index.jsp">进入主页</a> web.xml <filter> <filter-name>loginFilter</filter-name> <filter-class>com.lyq.service.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>/index.jsp</url-pattern> </filter-mapping> loginFilter.java @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain arg2) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getSession(); if(session

Servlet 三大域对象

主宰稳场 提交于 2020-02-14 09:17:18
Servlet 三大域对象 ServletContext HttpServletRequest HttpSession 1、ServletContext 每个项目只有一个 服务器开始时候创建一个,服务器关闭时,销毁 2、HttpSession 一次会话 打开浏览器时候创建 浏览器关闭时销毁 3、HttpServletRequest 一次请求 发送请求时创建 响应后销毁 请求转发: 之前向页面输出的数据暂存缓存,遇到转发清空,如果强制向页面输出,会报无法转发错误。一次请求一次响应 请求重定向 response.sendRedirect(location) Request域对象,范围一次请求结束request销毁 setAttribute getAttribute HttpSession 域对象 cookie 浏览器技术将数据保存在客户端 上次请求的响应里,下次请求的请求里 Cookie cookie =new Cookie(String name,String value); 添加到响应头 response.addCookie(cookie); 获取 request.getCookies(); 返回cookie数组 设置Cookie存在时间 cookie.setMaxAge(60*60) 一小时60秒 问题:cookie不能储存中文问题 URLEncoder.encode

登陆验证koa-passport中间件的简单使用

社会主义新天地 提交于 2020-02-14 07:06:31
简述 koa-passport 是 koa 的一个中间件,它实际上只是对 passport 的一个封装。利用 koa-passport 可以简便的实现登录注册功能,不但包括本地验证,还有很多提供第三方登录的模块可以使用。这篇博客只讲一下登陆验证这块的一些简单内容 配置 安装依赖 npm install - S koa - passport npm install - S passport - local 引包 import passport from 'koa-passport' import LocalStrategy from 'passport-local' import UserModel from '../../dbs/models/users' 配置验证策略 koa-passport默认使用 username 和 password 做验证 passport . use ( new LocalStrategy ( async function ( username , password , done ) { let where = { username } ; //在数据库中寻找输入的用户信息 let result = await UserModel . findOne ( where ) if ( result != null ) { if ( result .

JSP中的四种作用域?

落花浮王杯 提交于 2020-02-14 04:16:06
page、request、session和application,具体如下: ①page 代表与一个页面相关的对象和属性。 ②request 代表与Web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个Web 组件;需要在页面显示的临时数据可以置于此作用域 ③session代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的session中 ④application代表与整个Web应用程序相关的对象和属性,它实质上是跨越整个Web应用程序,包括多个页面、请求和会话的一个全局作用域。 来源: https://www.cnblogs.com/guxia/p/6842338.html

JSP内置对象--4种属性范围 (pageContext,request,session,application)

心不动则不痛 提交于 2020-02-14 04:12:37
pageContext: javax.servlet.jsp.JspContext 抽象类的父类 JspContext 中有以下方法。 request:javax.servlet.http.的接口HttpServletRequest session:javax.servlet.http的接口HttpSession application: javax.servlet 的接口: ServletContext 以上4个对象都存在以下3个方法: 设置属性名称是string,内容是object。 page范围: 例子: page属性只能当前页面取得: page_scope_01.jsp: <%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <html> <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head> <body> <% // 设置属性 pageContext.setAttribute("name","李兴华") ; pageContext.setAttribute("birthday",new Date()) ; %> <% String username = (String) pageContext

爬虫基础知识(叁)

好久不见. 提交于 2020-02-13 20:41:23
一、cookie和session:     1、cookie和session的定义:       cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据。       session起始含义是指有始有终的一系列动作和消息。在web中,session主要用来在服务器存储特定用户对象会话所需要的信息。     2、cookie和session产生的原因:       http协议是一个无状态协议,在特定操作的时候,需要保存信息,进而产生了cookie和session。     3、cookie原理:       由服务器来产生,浏览器第一次请求时,服务器发送给客户端进而保存在本地。       浏览器继续访问时,就会在请求头的cookie字段上附带cookie信息,这样服务器就可以识别是谁在访问了。       但是cookie也存在着缺陷:         1)、不安全---本地保存,容易被篡改。         2)、大小受限,本身最大大小为4KB。       所以cookie虽然在一定程度上解决了‘保持状态’的需求,但还是希望可以克服cookie的缺陷,而session就是为了克服其缺陷产生的。     4、session原理:       session在服务器保存。(解决了cookie的安全问题)       cookie中存在着一个字段

Spring Session: ExpiringSessionHttpSession getAttribute checkState throw Exception

佐手、 提交于 2020-02-13 10:29:54
ExpiringSessionHttpSession getAttribute Exception - 国内版 Bing https://cn.bing.com/search?q=ExpiringSessionHttpSession+getAttribute+Exception&qs=n&form=QBRE&sp=-1&pq=expiringsessionhttpsession+getattribute+exception&sc=0-49&sk=&cvid=D742C51BF2B4422A914D66EA1775A7ED ExpiringSessionHttpSession getAttribute checkState - 国际版 Bing https://cn.bing.com/search?q=ExpiringSessionHttpSession%20getAttribute%20checkState&qs=n&form=QBRE&sp=-1&pq=expiringsessionhttpsession%20getattribute%20checkstate&sc=0-50&sk=&cvid=4DD1E26C53754F33A9E1EA070104B9A0 NullPointerException in sessionDestroyed listener · Issue

nginx与tomcat集群

耗尽温柔 提交于 2020-02-13 08:22:15
nginx 是一个http服务器,是由俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘宝被广泛使用(据说被淘宝的工程师优化到单机200万的并发,非常的厉害) 单个tomcat最大支持的用户并发量默认是150,在测试过程中250左右开始会有性能的问题 举个栗子,有3台tomcat,有N多请求同时经过nginx的时候,nginx作为一个路由,把请求分别分发给这3台tomcat,以此减少tomcat负重 作为集群,当其中一台tomcat宕机,出现故障,那么nginx将会自动排除这个服务 tomcat 与 nginx 之间通过ajp协议,这个协议提供很高的通信速度以及性能 另外,nginx也能够存放静态资源,项目中会存在很多图片,以及静态页面,如果把这些静态资源放入nginx中,那么性能会提高,速度是毫秒级别的,非常快 在动静分离的项目中,所有静态资源(HTML, CSS, JavaScript)都放入此服务器中,客户端请求到nginx,这样将会拦截大量的非动态请求,以此提高性能 工作原理: 在upstream bakend 中配置多个tomcat服务器,每个请求按照不同的时间顺序去请求不同的tomcat,如果在某一时段中有tomcat挂了,那么会被自动剔除 ip_hash:主要用于解决session问题,使用后

Nginx的session一致性问题

前提是你 提交于 2020-02-13 08:20:58
session一致性memcached缓存数据库解决方案   1、安装memcached内存数据库 yum –y install memcached 可以用telnet localhost 11211 Set abc 0 0 5 12345 get abc   2、web服务器连接memcached的jar包拷贝到tomcat的lib   3、修改server.xml里面修改Engine标签,添加jvmRoute属性,目的是查看sessionid里面带有tomcat的名字,就是这里配置的jvmRoute <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">   4、配置tomcat的conf目录下的context.xml <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.17.9:11211" sticky="false" lockingMode="auto" sessionBackupAsync="false" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"