博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ServletContext的应用
阅读量:3950 次
发布时间:2019-05-24

本文共 3517 字,大约阅读时间需要 11 分钟。

关于servlet的用户登录与获取登录次数

servletContex的创建时在服务器启动的时候进行创建
从服务器中移除或者是关闭服务器才能关闭servletContext

1.创建登录界面 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/

你可能感兴趣的文章
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>
React Native(七):Android双击Back键退出应用
查看>>
Android自定义apk名称、版本号自增
查看>>
adb command not found
查看>>
Xcode 启动页面禁用和显示
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Candy(python)
查看>>
【leetcode】Clone Graph(python)
查看>>
【leetcode】Sum Root to leaf Numbers
查看>>
【leetcode】Pascal's Triangle II (python)
查看>>
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>