本文共 3517 字,大约阅读时间需要 11 分钟。
关于servlet的用户登录与获取登录次数
servletContex的创建时在服务器启动的时候进行创建 从服务器中移除或者是关闭服务器才能关闭servletContext1.创建登录界面 login.html
Insert title here 输入正确的密码
2.form表单传递信息到loginServlet.java
package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class Demo01 */@WebServlet("/Demo01")public class Demo01 extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Demo01() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获取数据 String userName = request.getParameter("username"); String password = request.getParameter("password"); //测试: //System.out.println("username = "+userName + "password"+ password); //网页输出 PrintWriter pw = response.getWriter(); if("admin".equals(userName) && "123".equals(password)) { /* 测试 : 算出网页的登录次数 servletContext 一个文件只有一个*/ //获取以前存的值 然后在旧的基础上加一 Object obj = getServletContext().getAttribute("count"); //totalCount初始值为空; int totalCont = 0; if(obj != null) { totalCont =(int) obj; } //System.out.println("登录次数为:" + totalCont); getServletContext().setAttribute("count", totalCont+ 1); //定义状态码 response.setStatus(303); //到下一个界面 loginSuccess.html response.setHeader("Location", "loginSuccess.html"); }else { pw.write("login failed"); } } /** * @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); }}
3.在loginServlet里进行网页的跳转到loginSuccess.html
必须要定义状态码才能进行传递 response.serStatus(301); response.setHeader("Location","你要跳转的html中 即是loginSuccess.html")
Insert title here 登陆成功
网站登陆成功的次数
4.在loginSuccess.html里面的超链接到CountServlet.java
package com.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class CountServlet */@WebServlet("/CountServlet")public class CountServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public CountServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //一个web工程只能有一个ServletContxt int count = (int) getServletContext().getAttribute("count"); response.getWriter().write("cishuwei1"+ count); } /** * @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); }}
转载地址:http://tdgwi.baihongyu.com/