• javaWeb——Servlet(二)


    Servelet登录页面步骤:

    • 浏览器访问http://127.0.0.1/login.html
    • 浏览器通过form把账号和密码提交到/login(通过action),附带method="post"
    • Tomcat接受到请求:http://127.0.0.1/login,根据配置文件web.xml匹配发现/login对应的Servlet类是LoginServlet
    • Tomcat调用LoginServlet的public无参的构造方法LoginServlet()实例化一个LoginServlet对象
    • Tomcat据页面login.html提交信息的时候带的method="post",去调用对应的doPost方法
    • Servlet在doPost方法中,通过参数request,把页面上传递来的账号和密码信息取出来
    • Servlet根据账号和密码是否正确(判断是否是admin和123), 创建不同的html字符串
    • Tomcat拿到被Servlet修改过的response,根据这个response生成html 字符串
    • Tomcat通过HTTP协议将html字符串回发给浏览器
    • 浏览器根据HTTP协议获取html字符串,并渲染在界面上

    Servelet生命周期:

    • 实例化:用户通过浏览器输入路径时,调用构造方法LoginServlet()
    • 初始化:调用init(ServletConfig)
    • 提供服务:执行service(),根据浏览器传递来的信息判断调用doGet()还是doPost()
    • 销毁:调用destroy(),如关闭Tomcat时
    • 被回收:通过GC回收

    Servlet页面跳转:

    • web目录下创建两个页面success.html,fail.html
    • 登录成功则服务端跳转到success.html(跳转后地址栏信息不变)
    • 登录失败则客户端跳转到fail.html(跳转后地址栏信息变为跳转后的地址)

                   

    Servlet自启动:

    • tomcat一启动,就需要执行一些初始化的代码,比如校验数据库的完整性等
    • 但是Servlet的生命周期是在用户访问浏览器对应的路径开始的。如果没有用户的第一次访问,就无法执行相关代码
    • 这个时候就需要Servlet实现自启动。即,伴随着tomcat的启动,自动启动初始化,在初始化方法init()中,进行一些业务代码工作

    Servlet上传文件:

    • form的method必须是post的,get不能上传文件
    • enctype="multipart/form-data"表示提交的是二进制文件
    • 提供type="file"用于上传
    • 加载第三方jar包commons-io-1.4.jar和commons-fileupload-1.2.2.jar
  • 相关阅读:
    Linux 字典数组应用
    Linux shell 字符串切割 内置方法
    【Swing/文本组件】定义自动换行的文本域
    【C++语法基础】实验1
    【Swing程序设计/常用面板】
    【标签组件与图标 3.3】
    【2018.2.26算法总结#分治】
    数据结构#课表排序及查询
    数据结构#前序遍历建立二叉树 输出中序遍历
    OJ#1002 又是a+b
  • 原文地址:https://www.cnblogs.com/cxc1357/p/12024615.html
Copyright © 2020-2023  润新知