Servlet简单应用

Posted 拿红罗卜钓鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet简单应用相关的知识,希望对你有一定的参考价值。

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 项目没有设置项目名时;

以上是关于Servlet简单应用的主要内容,如果未能解决你的问题,请参考以下文章

servlet的应用

Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业

基于jsp+servlet+javabean的MVC模式简单应用

如何在 Java Web 应用程序中公开您的测试数据库?简单的Sqlsheet servlet?

Servlet简单的使用方法

tomcat的简单配置与适用默认的web应用