首先创建一个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">密 码</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>
启动服务器查看效果