JSP内置对象的cookie和session实现简单登录界面

创建一个index.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="post">
    用户名:<input type="text" name="uid" /><br>
    密码:<input type="password" name="pwd" /><br>
    <input type="submit" value="登录">
</form>
</body>
</html>

创建一个main.jsp页面

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%--
if(session.getAttribute("user")==null){
    response.sendRedirect("index.jsp");
}
--%>
<%
Cookie[] cc = request.getCookies();
boolean has = false;
for(Cookie c:cc){
    if(c.getName().equals("user")){
        has=true;
    }
}
if(has==false){
    response.sendRedirect("index.jsp");
}
%>
welcome:<%=session.getAttribute("user") %>
<%

for(Cookie c:cc){
    if(c.getName().equals("user")){
        out.print(c.getValue());
    }
}
%>
</body>
</html>

创建一个servlet界面,名为Login

package com.ceshi;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class Login
 */
@WebServlet("/login")
public class Login extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Login() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //response.getWriter().append("Served at: ").append(request.getContextPath());
        String uid = request.getParameter("uid");
        String pwd = request.getParameter("pwd");
        //HttpSession session= request.getSession();
        //session.setAttribute("user",uid);
        Cookie c = new Cookie("user", uid);
        response.addCookie(c);
        response.sendRedirect("main.jsp");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

显示如下:

时间: 2024-10-27 00:44:06

JSP内置对象的cookie和session实现简单登录界面的相关文章

JSP内置对象之------response、session、application

1. 重定向和转发 response.sendRedirect("地址"); a. 页面地址显示最终页面 b. 不可向后传递参数 c. 跳到外部站点 request.getRequestDispatcher("地址").forward(request, response); a. 页面地址显示请求页面 b. 可以向后传递参数 c. 不可以跳到外部站点 通俗的来说两者的区别就是: 重定向:发出两次请求,不能够共享前一次请求中封装的参数信息 转发:   发一次请求 2.

JSP内置对象—session

什么是session? session对象是用来在每一个用户之间分别保存每一个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在服务器端,session的id保存在客户端的cookie中. 例如我们乘坐火车就可以看做是一个session.当我们乘坐火车的时候,我们需要持有一张车票.车票就相当于是一个cookie.而车票上的座位号就相当于是sessionId.当我们需要访问列车的时候,检票员会事先检查我们是否持有cookie,如果有就根据cookie里的内容(sessionId)

jsp内置对象之-session对象

session对象 session对象是一个JSP内置对象. session对象在第一个JSP页面被装载时自动创建,完成回话期管理. session生命周期从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束被称为一个会话. 当一个客户访问一个服务器时,可能在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象. session对象时HttpSession类的实例. session的工作原理如下: 客户首次访问服务器的一个页面时,服务器

jsp 内置对象(五)

1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以 获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理.首先,将获取的 字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后再将这个数组转化为字符串对象 即可.如下: String textContent=request.getParameter("boy") byte b[]=textContent.get

JSP内置对象详解

jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request:是javax.servlet.httpservletRequest类型的对象,该对象是用户客户端的请求信息,主要用户接受客户端通过http协议传送到服务器的数据! (包括头部信息.系统信息.请求方式以及请求信息参数),jsp内置对象Web容器所创建的一组对象! 生命周期:jsp发出请求一个requ

JSP学习笔记(3)-JSP内置对象

有些对象不用声明就可以在JSP页面的Java程序片和表达式部分使用,这些对象就是JSP的内置对象.  JSP常用的内置对象有request,response,session,application,out.  其中两个重要的request和response对象提供了服务器和浏览器通信方法的控制. 1.request对象(请求对象) 作用:封装用户提交的信息,获取封装信息等 1.1.获取用户提交信息 request.getParameter(String s);//获取提交信息    如果该方法获

JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候,把一些对象设置为内置对象,开发者在JSP页面编程的时候不必声明这些对象就能直接使用,这就是JSP的内置对象. 那么JSP对象有哪些呢? JSP内置对象          对应的类型   备注 R

Jsp内置对象及EL表达式的使用

一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response  HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application  ServletContext config  ServletConfig page this(当前Servlet对象) exception java.lang.Throwable(有开关

javaEE jsp 内置对象

out:是一个缓冲的输出流,用来给客户端返回信息,它是javax.servlet.jsp.JspWriter的一个实例,是文本一级的对象,与response不同,通过out发送的内容将直接显示在浏览器,而response要发送html标签才可以显示. 常用的方法: println():向客户端输出各种类型数据 newLine():输出一个换行符 close():关闭输出流 flush():输出缓冲区里的数据 clearBuffer():清除缓冲区里的数据,同时把数据输出到客户端 clear():