zoukankan      html  css  js  c++  java
  • servlet 应用

    前言

    应用servlet需要先配置

     

     

     注意新建classes和lib文件夹

     把路径改为刚刚创建的classes

     使用jdbc连接数据库时,要把驱动器放在lib文件夹下

     注意要下载与IDEA相匹配的,我之前就下载了41,42,结果一直有错误。

    一、建立用户表

    使用SQL Server建立一张用户表

     二、编写servlet进行用户名和密码校验

    1.连接数据库

     2.创建一个登录页面

    因为在此之前已经模仿过登录界面,所以可以直接使用,但需要注意的是账号登录这一块必须是表单形式,并且登录按钮的type为submit

    把swpu.html直接复制到web文件夹下 

    3.登录,由于表中存在用户名为“tom”,密码为“123”的数据,所以验证成功并显示

     4.当输入错误的用户名或密码则不显示用户名与密码

     三、使用cookie,如果用户在登录时选择保存登录信息,30天内,用户无需登录

    1.创建保存cookie的servlet

     

    2.可以看到保存期限为30天

    3.再次打开登录页面,用户名与密码已自动填充

     

     4.添加在LoginServlet的代码

    5.要注意在login.html添加js代码

     四、使用session,显示网站当前在线人数

    1.创建一个listener,对session实现监听

     2.创建一个session的servlet,便于获取网站在线人数

     3.注意配置web.xml

     其中session-config是控制session的销毁时间

    4.先使用GoogleChrome登录第一次

    5.再使用FireFox登录第二次

    6.最后session销毁,显示人数为0

     五、使用过滤器解决乱码问题,登录时用户名为中文可能不能正常识别,解决该问题

    造成乱码的原因主要是浏览器和服务端编码和解码的规则不一样

    1.首先还是创建一个filter,注意配置web.xml

    2.创建一个TestServlet,注意配置web.xml

     解码是GB2312,而前端页面编码使用的是UTF-8

     3.使用中文登录,现在还未使用filter

     可以看出中文变成了乱码

     4.使用filter,并注释掉如下代码

     

     

    六、GitHub地址

    https://github.com/youthcyl/Login

     

  • 相关阅读:
    计算机硬件内存双通道只显示一根内存条,不能组成双通道
    VMware 虚拟机安装win10操作系统系列问题解决
    编译语言和解释语言区别
    SPSS 24下载与安装+授权码
    Reg文件操作
    DLL注册表文件相关内容
    安装TensorFlow失败
    Anaconda 包管理与环境管理
    Cookie设置域名问题,cookie跨域
    准备篇(二)C语言
  • 原文地址:https://www.cnblogs.com/youthlll/p/13033735.html
Copyright © 2011-2022 走看看