session对象学习

 首先创建一个session项目

在src目录里创建bean包,并且新建user实体类

User.java

package net.ys.bean;

public class User {
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    private int id;
    private String username;
    private String password;
}

在index.jsp页面修改内容

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>首页</title>
</head>
<body>
1.港媒:黎智英儿子在香港的三间餐厅被泼红色油漆<br>
2.普京无惧与美展开军备竞赛:俄已拥有新一代武器<br>
3.超载久治不愈病灶在哪儿 专家:处罚力度明显不足<br>
4.李心草母亲:从媒体获知意外落水消息 打人算醒酒?<br>
5.光头警长刘Sir:不到万不得已 我不会把枪指向他们<br>
6.暖新闻 乘客打到"治愈系"出租车:整座城市都变美好了<br>
7.货船台风天在日本近海沉没 5名中国籍船员遇难<br>
</body>
</html>

在web目录里面新建login页面,success页面,add_news页面和do_login.jsp处理登录的脚本页面

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户登录</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="do_login.jsp" method="post">
    <table border="1" cellpadding="10" style="margin: 0px auto">
        <tr>
            <td align="center">用户名</td>
            <td><input type="text" name="username"/></td>
        </tr>
        <tr>
            <td align="center">密&nbsp;码</td>
            <td><input type="password" name="password"/></td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <input type="submit" value="登录"/>
                <input type="reset" value="重置"/>
            </td>
        </tr>
    </table>
</form>
<%
    String errMsg = (String) session.getAttribute("errMsg");
    if (errMsg !=null){
    out.print("<script>alert('"+errMsg +"')</script>");
    }
%>



</body>
</html>

success.jsp

<%@ page import="net.ys.bean.User" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
    <title>登陆成功</title>
</head>
<body>
<h3><%= new String(request.getParameter("username").getBytes("ISO-8859-1"), "utf-8") %>,登录成功!</h3>
<%
    List<User> loginedUsers = new ArrayList<>();
    if (application.getAttribute("LOGINED_USERS") != null) {
        loginedUsers = (List<User>) application.getAttribute("LOGINED_USERS");
    }
%>
目前,已有<%= loginedUsers.size() %>人访问过本网站。
</body>
</html>

do_login.jsp

<%@ page import="net.ys.bean.User" %>
<%
    //获取登录表单数据
    String username = request.getParameter("username");
    String password = request.getParameter("password");

    //判断登录是否成功
    if (username.equals("ys")&&password.equals("ys751314")){
        //创建用户对象
        User user = new User();
        //设置用户对象属性
        user.setUsername(username);
        user.setPassword(password);
        //保存用户登录信息
        session.setAttribute("LOGINED_USER",user);
        //采用重定向,跳转到首页
        response.sendRedirect("success.jsp");
    }else {
        //采用重定向,跳转到登录页面
        response.sendRedirect("login.jsp");
    }
%>

add_news.jsp

<%@ page import="net.ys.bean.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加新闻</title>
</head>
<body>
<%--利用session实现登录验证--%>
<%
    User user = (User) session.getAttribute("LOGINED_USER");
    if (user==null){
        session.setAttribute("errMsg","请先登录!");
        response.sendRedirect("login.jsp");
    }
%>
<h3>添加新闻</h3>
此页面还在建设中......
</body>
</html>

启动服务器查看效果

猜你喜欢

转载自blog.csdn.net/LZY_Handsome_boy/article/details/103665668