分别写好登录页、主页、主页的几个功能页、登录失败页、servlet用作登录和退出处理,filter用于登录拦截处理和编码处理。
登录页:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<style type="text/css">
body{
text-align:center;
}
</style>
<body>
<h1>登录</h1>
<form name="id" action="exam_3_loginservlet" method="post">
账号:<input type="text" name="id" value="123"><br><br>
密码:<input type="password" name="pass" value="123"><br><br>
<button>登录</button>
</form>
</body>
</html>
主页:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Calendar"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<style type="text/css">
#container{
margin: 0px;
padding: 0px;
border:1px solid ;
height:125px;
font-size:25px;
background: -moz-linear-gradient(top, #DDDDDD 0%, #E0FFFF 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#DDDDDD ), color-stop(100%,#E0FFFF));
background: -webkit-linear-gradient(top, #DDDDDD 0%,#E0FFFF 100%);
background: -o-linear-gradient(top, #DDDDDD 0%, #E0FFFF 100%);
background: -ms-linear-gradient(top, #DDDDDD 0%,#E0FFFF 100%);
background: linear-gradient(to bottom, #DDDDDD 0%,#E0FFFF 100%);
}
#left{
margin: 0px;
padding: 0px;
height:330px;
width: 30%;
float: left;
border:1px solid black;
font-size:25px;
background: -moz-linear-gradient(top, #DDDDDD 0%, #E0FFFF 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#DDDDDD ), color-stop(100%,#E0FFFF));
background: -webkit-linear-gradient(top, #DDDDDD 0%,#E0FFFF 100%);
background: -o-linear-gradient(top, #DDDDDD 0%, #E0FFFF 100%);
background: -ms-linear-gradient(top, #DDDDDD 0%,#E0FFFF 100%);
background: linear-gradient(to bottom, #DDDDDD 0%,#E0FFFF 100%);
}
#right{
margin: 0px;
padding: 0px;
height:330px;
float: rigth;
border:1px solid black;
background: -moz-linear-gradient(top, #DDDDDD 0%, #E0FFFF 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#DDDDDD ), color-stop(100%,#E0FFFF));
background: -webkit-linear-gradient(top, #DDDDDD 0%,#E0FFFF 100%);
background: -o-linear-gradient(top, #DDDDDD 0%, #E0FFFF 100%);
background: -ms-linear-gradient(top, #DDDDDD 0%,#E0FFFF 100%);
background: linear-gradient(to bottom, #DDDDDD 0%,#E0FFFF 100%);
}
}@charset "UTF-8";
</style>
<body>
<div id="container">
<%
String id=(String)session.getAttribute("id");
%>
当前在线人数:
<%--
Object num=application.getAttribute("count");
if(num==null){
out.print(0);
}else{
out.println(num);
}
--%>
<%
Object num=application.getAttribute("count");
out.println(num);
%>  
[<%=id %>]你好!
<form name="id" action="exam_3_exitservlet" method="post">
<button style="border:none;background:#DDDDDD;font-size:25px;"> 退出</button><br><br>
</form>
<%
Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) + 1;
int day = now.get(Calendar.DAY_OF_MONTH);
int week = now.get(Calendar.DAY_OF_WEEK) - 1;
String[] Week = {"一","二","三","四","五","六","日"};
out.print("当前时间:"+year+"年"+month+"月"+day+"日,星期"+Week[week-1]);
SimpleDateFormat format=new SimpleDateFormat(" HH:mm:ss");
out.print(format.format(now.getTime()));
%>
</div>
<div id="left">
<span style="font-size:40px;">菜单</span><br>
<a href = "exam_3_yonghuguanli.jsp" target="frame1">用户管理</a><br><br>
<a href = "exam_3_news.jsp" target="frame1">新闻管理</a><br><br>
<a href = "exam_3_changepass.jsp" target="frame1">修改密码</a>
</div>
<div id="right">
<iframe name="frame1" style="width:760px;height: 330px;border:medium none;"></iframe>
</div>
</body>
</html>
登录处理:
package myServlet;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class exam_3_loginservlet
*/
@WebServlet("/exam_3_loginservlet")
public class exam_3_loginservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public exam_3_loginservlet() {
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());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
HttpSession session=request.getSession();
ServletContext application=request.getServletContext();
String id=request.getParameter("id");
String password=request.getParameter("pass");
if(id.equals("123")&&password.equals("123")){
session.setAttribute("id", id);
Integer count = (Integer)application.getAttribute("count");
if(count==null){
application.setAttribute("count", 1);
}else{
application.setAttribute("count", count+1);
}
response.sendRedirect("exam_3_index.jsp");
}else{
response.sendRedirect("exam_3_loginfail.jsp");
}
doGet(request, response);
}
}
退出处理:
package myServlet;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class exam_3_exitservlet
*/
@WebServlet("/exam_3_exitservlet")
public class exam_3_exitservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public exam_3_exitservlet() {
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());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
HttpSession session=request.getSession();
ServletContext application=request.getServletContext();
session.setAttribute("id", null);
Integer count = (Integer)application.getAttribute("count");
application.setAttribute("count", count-1);
response.sendRedirect("exam_3_login.jsp");
doGet(request, response);
}
}
登录拦截:
package filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
* Servlet Filter implementation class exam_3_filter
*/
@WebFilter({ "/exam_3_index.jsp", "/exam_3_news.jsp", "/exam_3_yonghuguanli.jsp", "/exam_3_changepass.jsp","/exam_3_loginfail.jsp" })
public class exam_3_filter implements Filter {
/**
* Default constructor.
*/
public exam_3_filter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
PrintWriter out = response.getWriter();
HttpSession session = ((HttpServletRequest) request).getSession();
String id = (String) session.getAttribute("id");
if(id==null) {
out.print("没有登录,请<a href='exam_3_login.jsp'>登录</a>");
return;
}
// pass the request along the filter chain
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}