Tecnología Sesión servlet

Sesión uso básico

request.getSession (): método sin parámetros, el viejo sesión, sesión con la edad. No es la sesión anterior, crear una nueva sesión. Generalmente se usa cuando el almacenamiento de datos.
request.getSession (Boolean): Si el parámetro es cierto, no equivalente al método de referencia. Es falsa, se encuentra el antiguo sesión con la sesión anterior, no se devuelve nulo.

obras de sesión

1. listado Escribir sesión
después de la primera, cuando un usuario envía una solicitud, el servidor realice método getSession (), automáticamente genera un objeto Map.Entry. clave es un algoritmo para generar nueva sesión JSESSIONID, el valor se hace referencia a la recién creada.
2. El servidor genera y transmite una cookie
servidor JSESSIONID generado como una galleta, JSESSIONID llama, es un valor de la JSESSIONID, galleta y se envía al servidor. Cuando el servidor recibe los datos, encontrar la sesión correspondiente en base a la producción de galletas enviado por, encontrar el valor correspondiente.
3. El cliente debe aceptar y enviar cookie de
servidor correspondiente al cliente, y el cliente aceptará la de sesión, cookie se guardará en la memoria caché. Cuando la página no está cerrado, al enviar la solicitud se enviará directamente a la caché cookie al servidor, el servidor busca la sesión directamente de la cookie, no es necesario crear.

error de sesión

1.session.invalidate (): permite la sesión falle. Desagregación se unen todos los objetos en la sesión de. Este método no permite la sesión es nula.
2. La duración de 10 minutos establecido la sesión falla.
web.xml

<session-config>
	<session-timeout>10</session-timout>
</session-config>

Después de la galleta desactivar la redirección de la sesión de seguimiento de sesión

desactivar la cookie, no se puede utilizar una cookie JSESSIONID encontrar sesión.
Sólo tiene que utilizar la uri = response.encodeRedirectURL(uri);dirección URI puede ser sobrescrito.
index.html

<body>
	<form action="${pageContext.request.contextPath}/someServlet">
		<input type="text" name="user"/>
	</form>
</body>

Guardar index.html servlet datos de la página

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String username = request.getParameter("user");
		HttpSession session = request.getSession();
		session.setAttribute("username", username);
		response.getWriter().write(username);
		String uri = request.getContextPath()+"/otherServlet";
		//重写uri地址,在地址后面添加JSessionID
		uri = response.encodeRedirectURL(uri);
		response.sendRedirect(uri);
		
	}

Redirecciones para obtener los datos de la página.

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		HttpSession session = request.getSession(false);
		String username = (String) session.getAttribute("username");
		response.getWriter().write(username);
	}

No redirección de galletas con discapacidad, el seguimiento de la sesión Sesión

ibid principio, el método es sólo para volver a escribir la dirección URI uri = response.encodeURL(uri);puede ser.

Publicados 114 artículos originales · ganado elogios 8 · vistas 5479

Supongo que te gusta

Origin blog.csdn.net/OVO_LQ_Start/article/details/104905709
Recomendado
Clasificación