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
posted @ 2019-12-11 21:01  cxc1357  阅读(147)  评论(0编辑  收藏  举报