Servlet与Jsp的区别
* Servlet中没有内置对象,原来Jsp中的内置对象都是必须通过HttpServletRequest对象,或由
HttpServletResponse对象生成。
* 对于静态的HTML标签,Servlet都必须使用页面输出流诼行输出。
总之,Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,至于Jsp中的
Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service
方法用于生成对客户端的响应。
-Servlet的开发
Servlet通常称为服务器端小程序,用于处理和响应客户端的请求。
Servlet是个特殊的Java类,这个Java类必须继承HttpServlet。每个Servlet可以响应客户端的请求。
Servlet提供了不同的方法用于响应客户端请求。
* doGet : 用于响应客户端的get请求
* doPost : 用于响应客户端的post请求
* doPut : 用于响应客户端的put请求
* doDelete: 用于响应客户端的delete请求
* service(HttpServletRequest request, [可以响应客户端所有类型的请求]
HttpServletResponse response)
throws ServletException,java.io.IOException
其他方法
* init(Servletconfig config) : 创建Servlet实例时,调用的初始化方法。
* destory() : 销毁Servlet实例时,自动调用的资源回收方法。
-Servlet的配置
编译好的Servlet源文件并不能响应用户请求,还必须将其编译成class文件。将编译后的.class
文件放在WEB-INF/classes路径下,如果Servlet有包,则还应该将class文件放在对应的包路径下。
为了让Servlet能响应用户请求,还必须将Servlet配置在Web应用中。配置Servlet时,需要修改
web.xml文件。
配置Servlet需要配置两个部分:
* 配置Servlet的名字:对应web.xml中的<servlet/>元素
* 配置Servlet的URL :对应web.xml中的<servlet-mapping/>元素
-Servlet的生命周期
Servlet在容器中运行,其实例的创建以及销毁等都不是由程序员决定的,而是由容器进行控制的。
Servlet的创建有两个选择:
*客户端请求对应的Servlet时,创建Servlet实例:大部分的Servlet都是这种Servlet
*Web应用启动时,立刻创建Servlet实例:即load-on-startup Servlet
Servlet的生命周期:
Begin
---> 创建实例完成
---> 初始化[init]
---> 响应客户端请求[doGet,doPost,service]
---> 被销毁[destroy] --->
End
-使用Servlet作为控制器
使用Servlet作为表现层的工作量太大,所有的HTML标签都需要使用页面输出流生成。
因此使用Servlet作为表现层有如下三个劣势:
* 开发效率低,所有的HTML标签都需使用页面输出流完成
* 不利于团队协作,美工人员无法参与Servlet界面的开发
* 程序可维护性差,即使修改一个按钮的标题,读需要重新编辑Java代码,并重新编译
使用Servlet的MVC的架构实现:
Jsp页面--> Servlet程序 --> Servlet根据条件转发新的Jsp页面
-load-on-startup Servlet
Servlet实例化的时机还有在Web应用启动时,即load-on-startup Servlet
应用启动时就启动的Servlet,通常是用于某些后台服务的Servlet,或者拦截很多请求的Servlet;
这种Servlet通常作为基础的Servlet使用,提供重要的后台服务。
web.xml中的配置:
在<servlet/>元素中增加元素
<load-on-startup>1</load-on-startup>
-访问Servlet的配置参数
配置Servlet时,还可以增加附加的配置参数,通过使用配置参数,可以实现更好的解除耦合,
避免将所有的参数以硬编码方式写在程序中。
访问Servlet配置参数要通过ServletConfig类的实例完成,ServletConfig提供如下方法:
java.lang.String getInitParameter(java.lang.String name) [获取初始化参数]
分享到:
相关推荐
《基于SSH的招聘网站项目详解——使用JSP与Servlet实现》 在信息技术高速发展的今天,构建一个招聘网站已经成为企业和求职者的重要桥梁。本项目“招聘网站项目jsp+servlet”就是一个典型的Java Web应用实例,它利用...
2. **Servlet生命周期**:与JSP类似,Servlet也有自己的生命周期,包括加载、初始化、服务和销毁。它们通常在第一次请求时被加载和初始化,然后为后续请求服务。 3. **Servlet配置**:在web.xml文件中,可以通过...
在IT领域,尤其是在Web开发中,`JDBC`(Java Database Connectivity)、`JSP`(JavaServer Pages)和`Servlet`是三个非常重要的组件,它们共同构建了与数据库交互的基础框架。本文将深入探讨如何利用这三个技术实现...
Jsp+ java Servlet+DButils+c3p0连接池+mysql 运行视频(可选) 链接:https://pan.baidu.com/s/1pV07Z86gy-nlgj10NzcXvw 提取码:qfvp http://localhost:8080/hr/login.jsp zuidaima 111111 应聘信息录入 应聘信息...
(基于MVC模式下web端的开发,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰) 仅供初学者参考,内有文档注释,部分细节不懂者,留言即可
jsp+servlet+javaBean实现MVC.7z
Java.Web整合开发王者归来.JSP.Servlet%.z04
Java.Web整合开发王者归来.JSP.Servlet.7z.001
Java.Web整合开发王者归来.JSP.Servlet.7z.002
在整合JSP、Servlet和MySQL的项目中,通常的工作流程是:用户通过浏览器发送请求到Web服务器,服务器接收到请求后调用相应的Servlet,Servlet处理请求(可能包括与MySQL数据库的交互),然后将结果传递给JSP页面,...
Java.Web整合开发王者归来..JSP.Servlet%..z04
Java.Web整合开发王者归来..JSP.Servlet%..z02
JSP+Servlet+Tomcat应用开发从零开始学 这本书给的源码项目很多功能不能实现,我基本上都实现了,唯一还没实现的是立即购买的问题,其实只需要在前端把那个控件不显示就行,数据库脚本也有,做完后我不敢独享,希望...
Java.Web整合开发王者归来..JSP.Servlet%..z03 )
【标题】"简单的JDBC+servlet+jsp"项目是一个典型的Web应用程序示例,它整合了Java后端技术,包括Servlet、JDBC以及JSP,用于实现数据的CRUD(创建、读取、更新和删除)操作。这个项目是可运行的,并且包含了一个...
Java.Web整合开发王者归来.JSP
- **Servlet与JSP的比较**: 了解两者的异同,何时选择JSP,何时选择Servlet。 - **Servlet转发与重定向**: 如何在JSP和Servlet之间进行交互,使用request.getRequestDispatcher()和response.sendRedirect()。 5. ...
在IT行业中,Web开发是至关重要的领域,而`JSP`、`Servlet`、`Spring`和`Struts`是构建高效、可扩展的企业级应用的基石。这些技术结合使用,能够实现强大的前后端交互,提供高效的数据处理和用户体验。 首先,`JSP ...