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

来源:互联网 发布:北京大学 奖教金 知乎 编辑:程序博客网 时间:2024/05/21 12:46


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 {@Overridepublic 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;//将这个值存入servletcontextthis.getServletContext().setAttribute("count", count);}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html; charset=UTF-8");//解决向页面输出中文乱码,而且还可以写HTMLfinal long serialVersionUID=1L;//接收表单参数String username=request.getParameter("username");//通过input的name值获得输入的usernameString 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 blocke.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方式执行同一方法}}

原创粉丝点击