Servlet 调用流程

Servlet 调用流程

login.html -> /login -> web.xml -> LoginServlet -> 实例化 -> doGet doPost -> request response -> 返回 html

login.html

首先访问 http://127.0.0.1/xxx/login.html,打开一个静态的 html 页面,在这个页面中可以通过 form,以 post 的形式提交数据。

/login路径

在上一步的 login.html 中,用 form,把账号和密码,提交到 /login 这个路径,并且附带 method="post"

找到对应的 Servlet

Tomcat 接受到一个新的请求:http://127.0.0.1/login,其路径是 /login,接着就到配置文件 web.xml 进行匹配,发现 /login,对应的 Servlet 类是 LoginServlet。接下来的工作,就会基于这个 LoginServlet 进行。

实例化 Servlet 对象

Tomcat 定位到了 LoginServlet 后,发现并没有 LoginServlet 的实例存在,于是就调用 LoginServlet 的无参构造方法 LoginServlet() 实例化一个 LoginServlet 对象以备后续使用。

调用 doGet 或者 doPost

Tomcat 从上一步拿到了 LoginServlet 的实例之后,根据页面 login.html 提交信息的时候带的 method="post",去调用对应的 doPost 方法。

request获取参数

接着流程进入了 doPost 方法中。在这个方法中,通过参数 request,把页面上传递来的账号和密码信息取出来

response设置响应

根据账号和密码是否正确,创建不同的 html 字符串。然后通过 PrintWriter 对象把 html 字符串设置在 response 对象上。到这里,Servlet 的工作就做完了。

Tomcat 把 html 传递给浏览器

在 Servlet 完成工作之后,Tomcat 拿到被 Servlet 修改过的 response,根据这个 response 生成 html 字符串,然后再通过 HTTP 协议,把这个 html 字符串,回发给浏览器。浏览器再根据 HTTP 协议获取这个 html 字符串,并渲染在界面上。这样在浏览器上就可以看到 Servlet 中生成的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值