博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb09-HTML篇笔记(四)
阅读量:6077 次
发布时间:2019-06-20

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

1.1 案例三:记录网站的登录成功的人数.1.1.1 需求:

登录成功后,5秒后跳转到某个页面,在页面中显示您是第x位登录成功的用户.
1.1.2 分析:1.1.2.1 技术分析:
【ServletContext对象】
***** ServletContext对象存取数据,存的数据都是有一定的作用的范围的.这种对象称为是域对象.

  • 用来存取数据:
    JavaWeb09-HTML篇笔记(四)
  • 用来向ServletContext中存入数据.
    JavaWeb09-HTML篇笔记(四)
  • 用来从ServletContext中获取数据.
    JavaWeb09-HTML篇笔记(四)
  • 用来从ServletContext中移除数据.
  • JavaWeb09-HTML篇笔记(四)
    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("

登录失败:用户名或密码错误!

"); }else{ // 登录成功
// 记录次数:                            int count = (int) this.getServletContext().getAttribute("count");                            count++;                            this.getServletContext().setAttribute("count", count);                            response.getWriter().println("

登录成功:您好:"+existUser.getNickname()+"

"); response.getWriter().println("

页面将在5秒后跳转!

"); 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("

您是第"+count+"位登录成功的用户!

"); } 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项目下的文件.

转载于:https://blog.51cto.com/13517854/2119008

你可能感兴趣的文章
CentOS6.4关闭触控板
查看>>
ThreadPoolExecutor线程池运行机制分析-线程复用原理
查看>>
React Native 极光推送填坑(ios)
查看>>
Terratest:一个用于自动化基础设施测试的开源Go库
查看>>
修改Windows远程终端默认端口,让服务器更安全
查看>>
扩展器必须,SAS 2.0未必(SAS挺进中端存储系统之三)
查看>>
Eclipse遇到Initializing Java Tooling解决办法
查看>>
while((ch = getchar()) != '\n')
查看>>
好程序员web前端分享JS检查浏览器类型和版本
查看>>
Oracle DG 逻辑Standby数据同步性能优化
查看>>
exchange 2010 队列删除
查看>>
「翻译」逐步替换Sass
查看>>
H5实现全屏与F11全屏
查看>>
处理excel表的列
查看>>
C#数据采集类
查看>>
quicksort
查看>>
【BZOJ2019】nim
查看>>
四部曲
查看>>
LINUX内核调试过程
查看>>
【HDOJ】3553 Just a String
查看>>