理解Servlet

参考于: http://tech.idv2.com/2007/09/14/servlet-basic/
WEB工程结构:

 

理解Servlet

在Project Explorer中打开Java Resources: src -> Libraries -> Apache Tomcat 5.5 -> servlet-api.jar文件,可以看到其中包含两个包:javax.servletjavax.servlet.http, 与Servlet有关的类和接口都位于这两个包里面。



 

Servlet是一个接口,位于 javax.servlet.Servlet,它规定了每个Servlet所必须实现的方法。 实际应用时我们需要从 javax.servlet.GenericServlet 和 javax.servlet.http.HttpServlet 两个抽象类 继承出自己的Servlet类,并实现所需的功能。这几个类的关系如下(绿色斜体字为抽象类):



 

上图中,Servlet依赖于ServletRequest和ServletResponse接口,这两个接口负责为Servlet接受和发送信息。HttpServlet也类似。

 

Servlet接口

javax.servlet.Servlet接口包含以下的方法:

init()
void init(ServletConfig config) throws ServletException
init方法用于初始化,在Servlet启动时调用。

service()
void service(ServletRequest req, ServiceResponse res) throws ServletException, IOException
Servlet通过这个方法,从req获得客户端请求,处理并生成结果,再通过res发送给客户端。

destroy()
void destroy()
Servlet销毁时执行的方法。

getServletInfo()
String getServletInfo()
将Servlet的信息通过字符串返回。

getServletConfig()
ServletConfig getServletConfig()
获取包含Servlet各种信息的ServletConfig对象。

当某个Servlet第一次被请求时,服务器(Servlet容器)会生成该Servlet并调用它的init()方法, 再调用其service()方法处理请求。处理结束后该Servlet会常驻于容器中,下一个请求则不再 重新生成Servlet,而是直接调用常驻的Servlet对象的service()方法。 服务器停止时,会调用该Servlet的destroy()方法。

因此,在Servlet的一个生命周期中,init()和destroy()仅会被调用一次, 而service()则会被调用多次。

 

××××××××××××××××××Servlet里面一般存在doGet或者doPost方法不出现Service()方法××××××××××××

其实Servlet中,service方法是一直存在的,因为最高层的接口Servlet(想HttpServlet等具体的servlet都是直接或者间接实现了这个接口)里面就有这个方法,所以不管是怎样的servlet类,都有service方法,没有service就不能称为一个servlet了。
写了一个Servlet(应该是继承HttpServlet吧),重写了service方法,一般来说这个方法是不需要重写的,因为在HttpServlet中已经有了很好的实现,它会根据请求的方式,调用doGet或者doPost方法,所以我们么一般写一个servlet,只需要重写doGet或者doPost就可以了,如果你重写了service方法,那么servlet容器就会把请求交给这个方法来处理,而你又没有在service方法中调用doGet或者doPost,那么当然doGet方法就会不起作用了,我的建议是如果你由于某种需要,需要重写service方法,在末尾最好加上一句super.service(),这样就可以解决问题了。

××××××××××××××××××××××××××××××××××

 

GenericServlet抽象类

javax.servlet.GenericServlet为我们实现了Servlet接口的大部分方法,除了service()方法之外。 因此,我们在制作自己的Servlet时,只需要继承GenericServlet并重载service()方法即可。

 

 

 

 

 

 

"Mstar Bin Tool"是一款专门针对Mstar系列芯片开发的固件处理软件,主要用于智能电视及相关电子设备的系统维护与深度定制。该工具包特别标注了"LETV USB SCRIPT"模块,表明其对乐视品牌设备具有兼容性,能够通过USB通信协议执行固件读写操作。作为一款专业的固件编辑器,它允许技术人员对Mstar芯片的底层二进制文件进行解析、修改与重构,从而实现系统功能的调整、性能优化或故障修复。 工具包中的核心组件包括固件编译环境、设备通信脚本、操作界面及技术文档等。其中"letv_usb_script"是一套针对乐视设备的自动化操作程序,可指导用户完成固件烧录全过程。而"mstar_bin"模块则专门处理芯片的二进制数据文件,支持固件版本的升级、降级或个性化定制。工具采用7-Zip压缩格式封装,用户需先使用解压软件提取文件内容。 操作前需确认目标设备采用Mstar芯片架构并具备完好的USB接口。建议预先备份设备原始固件作为恢复保障。通过编辑器修改固件参数时,可调整系统配置、增删功能模块或修复已知缺陷。执行刷机操作时需严格遵循脚本指示的步骤顺序,保持设备供电稳定,避免中断导致硬件损坏。该工具适用于具备嵌入式系统知识的开发人员或高级用户,在进行设备定制化开发、系统调试或维护修复时使用。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值