3 回答
TA贡献1946条经验 获得超3个赞
JavaWeb中servlet主要功能是承载网络连接,业务逻辑处理,比如一些编码格式的转换、登录拦截等,如下是详细解释:1.servlet是一个类。最初没有jsp,只有servlet,也就是说最初的开发过程是.java->.class后来因为html代码在servlet里写入太繁琐,加入了jsp类型。servlet单纯的处理后台程序。在WEB-INF下的web.xml文件下:
1 2 3 4 5 6 7 8 | <servlet> <servlet-name>hello</servlet-name> <servlet-class>org.lxh.servlet.HelloServlet</servlet-class>///HelloServlet是类名 </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/servletdemo</url-pattern>///当敲入本机地址后,/demo后/servletdemo会找到编译后的HelloServlet文件。 </servlet-mapping> |
具体例子如下:1.先编写一个表单,建在D:/java/tomcat jsp/webdemo/servletdemo(新建一个文件夹)-
1 2 3 4 5 | input.html <form action="input" method="get">//"post"也行 <input type="text" name="ref"> <input type="submit" value="提交"> </from> |
2.在编写InputServlet类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package org.lxh.servlet ; import java.io.* ; import javax.servlet.* ; import javax.servlet.http.* ; public class InputServlet extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException{ String param = req.getParameter("ref") ; System.out.println("*************"+param) ; } public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException{ this.doGet(req,resp) ; } }; |
3.然后编译。4.再在web.xml中加入这些话
1 2 3 4 5 6 7 8 | <servlet> <servlet-name>input</servlet-name> <servlet-class>org.lxh.servlet.InputServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>input</servlet-name> <url-pattern>/servletdemo/input</url-pattern> </servlet-mapping> |
5.这时运行tomcat http://localhost:90/demo能找到servletdemo文件夹中的input.html,点击提交按钮。
jsp技术中servlet,可以承载很多的功能,但后期如果项目业务逻辑很复杂,会导致servlet的急剧增多,不易维护,所以又发明了javaweb,将每一层的功能和逻辑都独立出来,以便于更好的维护管理。
TA贡献1802条经验 获得超10个赞
Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能:
(1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。
(2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。
(3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。
(4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可
以是多参与者的游戏服务器。
(5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连
接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。
(6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。
(7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。
2.Servlet 的生命周期:
Servlet 的生命周期始于将它装入 Web 服务器的内存时,并在终止或重新装入 Servlet 时结束。
(1) 初始化
在下列时刻装入 Servlet:
=如果已配置自动装入选项,则在启动服务器时自动装入
=在服务器启动后,客户机首次向 Servlet 发出请求时
=重新装入 Servlet 时
装入 Servlet 后,服务器创建一个 Servlet 实例并且调用 Servlet 的 init() 方法。在初始化阶段,Servlet 初始化参数被传递给 Servlet 配置对象。
(2) 请求处理
对于到达服务器的客户机请求,服务器创建特定于请求的一个"请求"对象和一个"响应"对象。服务器调用 Servlet 的 service() 方法,该方法用于传递"请求"和"响应"对象。service() 方法从"请求"对象获得请求信息、处理该请求并用"响应"对象的方法以将响应传回客户机。service() 方法可以调用其它方法来处理请求,例如 doGet()、doPost() 或其它的方法。
(3) 终止
当服务器不再需要 Servlet, 或重新装入 Servlet 的新实例时,服务器会调用 Servlet 的 destroy() 方法。
添加回答
举报