首页 > 编程语言 > 详细

JavaWeb09-HTML篇笔记(四)

时间:2018-05-22 12:29:30      阅读:201      评论:0      收藏:0      [点我收藏+]
1.1 案例三:记录网站的登录成功的人数.1.1.1 需求:
登录成功后,5秒后跳转到某个页面,在页面中显示您是第x位登录成功的用户.
1.1.2 分析:1.1.2.1 技术分析:
【ServletContext对象】
***** ServletContext对象存取数据,存的数据都是有一定的作用的范围的.这种对象称为是域对象.

  • 用来存取数据:
    技术分享图片
  • 用来向ServletContext中存入数据.
    技术分享图片
  • 用来从ServletContext中获取数据.
    技术分享图片
  • 用来从ServletContext中移除数据.
  • 技术分享图片
    1.1.3 代码实现:
/**
* 登录代码的Servlet
*/
public class UserCountServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
        @Override
        public void init() throws ServletException {
                // 初始化一个变量count的值为0.
                int count = 0;
                // 将这个值存入到ServletContext中.
                this.getServletContext().setAttribute("count", count);
        }
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                try {
                        response.setContentType("text/html;charset=UTF-8");
                        // 1.接收表单提交的参数.
                        String username = request.getParameter("username");
                        String password = request.getParameter("password");
                        // 2.封装到实体对象中.
                        User user = new User();
                        user.setUsername(username);
                        user.setPassword(password);

                        // 3.调用业务层处理数据.
                        UserService userService = new UserService();

                        User existUser = userService.login(user);
                        // 4.根据处理结果显示信息(页面跳转).
                        if(existUser == null){
                                // 登录失败
                                response.getWriter().println("<h1>登录失败:用户名或密码错误!</h1>");
                        }else{
                                // 登录成功
                            // 记录次数:
                            int count = (int) this.getServletContext().getAttribute("count");
                            count++;
                            this.getServletContext().setAttribute("count", count);

                            response.getWriter().println("<h1>登录成功:您好:"+existUser.getNickname()+"</h1>");
                            response.getWriter().println("<h3>页面将在5秒后跳转!</h3>");
                            response.setHeader("Refresh", "5;url=/day09/CountServlet");
                    }
            } catch (Exception e) {
                    e.printStackTrace();
            }

    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
    }

}

public class CountServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                // 获得Count的值。
                response.setContentType("text/html;charset=UTF-8");
                int count = (int) this.getServletContext().getAttribute("count");
                response.getWriter().println("<h1>您是第"+count+"位登录成功的用户!</h1>");
        }
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                doGet(request, response);
        }
}
1.1.4 总结:1.1.4.1 ServletConfig:了解.获得Servlet的配置信息.

* String getServletName();                ---获得Servlet在web.xml中配置的name的值.
* String getInitParameter(String name);        ---获得Servlet的初始化参数的.
* Enumeration getInitParameterNames();                ---获得所有Servlet的初始化参数的名称.
1.1.4.2 ServletContext:重要
ServletContext的作用:
* 1.用来获得全局初始化参数.
* 2.用来获得文件的MIME的类型.
* 3.作为域对象存取数据.
ServletContext是一个域对象.
    * 作用范围:整个web工程.
    * 创建:服务器启动的时候,tomcat服务器为每个web项目创建一个单独ServletContext对象.
    * 销毁:服务器关闭的时候,或者项目从服务器中移除的时候.
* 4.用来读取web项目下的文件.

JavaWeb09-HTML篇笔记(四)

原文:http://blog.51cto.com/13517854/2119008

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!