记录网站的登陆成功人数(servlet contex和config)


package javapack;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class httpservlet extends HttpServlet {

	@Override
	public void init() throws ServletException {
  /*注意此时web.xml应写 <servlet>
    <servlet-name>httpservlet</servlet-name>
    <servlet-class>javapack.httpservlet</servlet-class>
    <load-on-startup>2</load-on-startup>
  </servlet>*/
		// TODO Auto-generated method stub
		//初始化一个变量count值为0,用来记录登录的人数
		int count=0;
		//将这个值存入servletcontext
		this.getServletContext().setAttribute("count", count);
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html; charset=UTF-8");//解决向页面输出中文乱码,而且还可以写HTML
		final long serialVersionUID=1L;
		//接收表单参数
		String username=request.getParameter("username");//通过input的name值获得输入的username
		String password=request.getParameter("password");
		//封装到实体对象
		User user=new User();
		user.setUsername(username);//将username与password封装到user对象中
		user.setPassword(password);
		//调用业务层处理数据
		userservice us=new userservice();
		try {
			User existuser=us.login(user);//将user传入到login方法判断用户是否在数据库中存在
			//根据处理结果显示信息(页面跳转)
			if(existuser==null){
				response.getWriter().println("<h1>登录失败</h1>");
			}
			else{
				//记录登录成功的人数
				int count=(Integer) this.getServletContext().getAttribute("count");
				count++;
				this.getServletContext().setAttribute("count", count);
				response.getWriter().println("<h1>登录成功,你好,"+existuser.getUsername()+"</h1></br>");
				response.getWriter().println("<h1>1s后页面跳转。。。。</h1>");
				response.setHeader("Refresh","1;url=/J2EE/countservlet");
				/*response.setStatus(302);//状态码重定向
				response.setHeader("Location", "success.html");*/
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);//post方式和get方式执行同一方法
	}

}

package javapack;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class countservlet extends HttpServlet {

	/*
	 * (non-Javadoc)
	 * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 * 显示登录成功的用户个数
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		int count=(Integer) this.getServletContext().getAttribute("count");
		response.getWriter().println("<h1>您是第"+count+"位登录成功的用户<h1>");
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);//post方式和get方式执行同一方法
	}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值