标签:servlet
为什么要学servlet呢?
用jsp完全可以开发一些网站,但是仅仅只是小型的网站,因为jsp页面的太过冗杂,几乎不好好维护,因此,才要学servlet,将显示和逻辑分开,因此我们需要另一种技术servlet。
有web1.0(页面内还有一个java代码,用来控制输出)和web2,0(完全分开,借助js来实现控制)。
Servlet是一个java程序,是在服务器上的以处理客户端请求并作出响应的程序。
Sun公司仿照jdbc(访问数据库的接口)的一样做了一套j2ee的标准,对于服务器商,必须符合这些标准,对于开发程序员,也要针对这个标准开发。因此这样就可以相互合作。
因此servlet也要遵守这套标准才能跑在j2ee上。
Servlet接口
GenericServlet:通用的Servlet
Httpservlet:支持http协议
Commonservlet
Servlet是单实例的,即是多个访问也只有一个Servlet(因此要避免写全局变量)
Strus则是多线程的,一个请求new一个action,因此效率更高一些。
Servlet生命周期:初始化->调用->销毁
Servlet配置
(Servlet必须放在包里,不能放在默认路径下)
1.继承httpservlet,必须重写一个方法,例如doGet()或者doPost();
2.web.xml配置:
(1) <servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
(2) <servlet-mapping>
<servlet-mapping>
(注意在配置的时候,Servlet-name的名字要一致。Servle-class必须要有包名)。
一个常规的Servlet生命周期:(同样以小程序的方式来证明)
第一次:先构造-》init()-》service-》doGet()/doPost()
配置web.xml 在网页说如访问,后台打印出调用顺序(第一次)
第二次: service-》doGet()/doPost()()
因此得出Servlet是单线程的,线程不安全的,避免使用全局变量。
销毁:关闭容器-》destroy
标签:servlet
原文地址:http://blog.csdn.net/u012944224/article/details/45104369