Servlet简单应用

本文详细介绍了JavaWeb中的Servlet组件,包括其三大创建方式、生命周期方法以及与请求响应的交互。讲解了如何通过web.xml配置和注解方式绑定Servlet路径,并探讨了请求转发与重定向的区别。同时,举例说明了登录页面的后端实现,涉及账号密码验证及页面跳转策略。
摘要由CSDN通过智能技术生成
javaweb 的三大组件之一,接受请求,给出响应;
3 种创建 Servlet 的方式:
1 、通过现实 Servlet 接口,重写全部方法;
2 、通过继承 GenericServlet 抽象类,重写 service() 方法;
3 、通过继承 HttpServlet 抽象类,重写自己需要的方法; ( 开发种常用 )
一般情况下, Java 程序,想要执行需要通过 main 方法,声明对象,使用对象进行调用方法;
Servlet 的使用
编写完成 Servlet 之后,需要将 Servlet 类与路径相互绑定;
Serlvet 的生命周期: Servlet 对象从出生、使用、死亡; Servlet 会自己创建对象,然后自己调用自己
的生命周期方法;
总共 3 个生命周期方法;
1 init(ServletConfig servletConfig)
初始化方法,看成 servlet 对象的出生; 当 servlet 对象一旦被创建时,就会马上执行 init 方法
2 service(ServletRquest request , ServletResponse response)
服务方法,是 servlet 的主要方法,每当路径被请求时,就会执行此方法;
3 destroy()
结束方法,当 Servlet 对象一被销毁,在销毁之前的时间执行此方法;
1 、使用 web.xml 配置文件进行绑定; 比较复杂
<servlet>
<servlet-name>aServlet</servlet-name>
<servlet-class>cn.hp.AServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aServlet</servlet-name>
<!-- 当用户请求 http://localhost:8080/web/a -->
<url-pattern>/a</url-pattern>
</servlet-mapping>
2 、使用注解的方式:简单
在类的名称上一行, @WebServlet("/b");
 
学习 servlet 种的 request response
request :数据类型: HttpServletRequest 请求
包含:用户发送来的内容 以及浏览器的信息等等;
路径之后跟 ?key=value&key=value 浏览器请求参数,当用户使用 get 方式时,就是用户发
送的请求操作内容
用来接收用户从浏览器发送过来的数据
request.getParamter("key 的名称 ") 获取到参数的 value
请求转发:表面上还是你这个路径,但实际显示的内容由转发后的对象进行处理;
只能转发给本程序中的路径;
req.getRequestDispatcher("success.html").forward(req,resp); 请求包含:用法和转发一样 语法中将 forward 换成 include
req.getRequestDispatcher("success.html").include(req,resp);
response :数据类型: HttpServletResponse 响应
重定向:将本次的请求,重新换了一个路径进行访问;
此路径,不局限于本项目,可以访问任意网路路径;
请求转发和重定向的区别:
1 、请求转发由 request 对象发出,只能发送给本项目中存在的路径
重定向由 response 对象发出,不仅可以发送给本项目中的路径还能够发送给外部路径;
2 、请求转发中一共有一个请求 , 导致页面中的路径只会是请求的路径
重定向包含两个请求,一个是用户原请求,第二个是 servlet 做的重定向请求;
3 、请求转发可以支持 post get 的请求
重定向第一个请求 post get 都支持,第二个请求只支持 get 方式
 
要求编写一个登录页面
登录页面:账号输入框 密码输入框 登录按钮
后端:接收用户输入的账号和密码,验证是否是 zs 123 成功则跳转至 success 页面,否则跳转
fail 页面
 
服务器中,页面的跳转
当一个路径以 / 开头, / 就代表 http://localhost:8080/
当一个路径不以 / 开头, 就是把原路径的最后一个文件名换成当前的路径内容
如 原文件路径 http://localhost:8080/web01/a.html ;
login 路径 --> http://localhost:8080/web01/login
/login 路径 --> http://localhost:8080/login
只有在一种情况下,两者跳的路径相同, javaweb 项目没有设置项目名时;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿红罗卜钓鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值