1.为什么会出现servlet?
用现有的java技术,开发一个动态网页,实现用户留言等功能。可以自己使用socket编程,但是困难度很高。
已经有前辈们为我们开发出了技术“java开发动态网页"--------------->servlet技术。在之前,使用servlet技术可以开发整套网站,但是现在有更高级的技术,servlet有它专门负责的功能。
2.什么是servlet
servlet技术是在javaee出现之前就存在了,在开发动态网页中,得到广泛应用,直到现在的javaee项目中也是非常重要的,同时jsp也是在servlet的基础上发展起来的。因此,掌握好servlet太重要了
servlet(java服务器小程序)是用java编写的服务器程序,它的特点:
(1)是由服务器端调用和执行的
(2)他是用java语言编写的,实际上就是一个java类
(3)他是按照servlet规范开发的,例如界面编程要extends JFrame;多线程开发要implements Runnable
(4)功能强大,可以完成几乎所有的网站功能
(5)是学习jsp的基础
3.tomcat和servlet在网络中位置
tomcat源码导入参考:
http://blog.csdn.net/cuidiwhere/article/details/12361425
4.servlet在web应用中的位置:
5.servlet的入门案例
servlet技术也是有一个演变的过程:从时间顺序:1.实现servlet接口 2.继承GenericServlet 3.现在采用继承HttpServlet
用接口servlet编写一个servlet,这种方法可以帮助我们更好的理解servlet的生命周期
现在我们就用实现接口的方式开发一个servlet,要求该servlet可以显示一句话,同时显示当前时间
实现步骤:
(1)建立一个web应用:在tomcat目录下的webapps目录下建立一个web应用hspWeb1。里面创建文件夹WEB-INF,在文件下再创建classes和lib文件。并且建立web.xml文件,该文件可以从ROOT/WEB-INF/web.xml直接拷贝过来
在开发servlet要参考servlet API。实际上servlet只涉及俩个包:javax.servlet和javax.servlet.http
使用javac编译一个打包的(package)的java文件,应该带有命令参数
javac -d . MyFirstServlet.java
当然只是这样会报错,因为java.servlet和java.servlet.http这俩个包不在J2SE范围内,即里面的类不在我们安装的J2SE的JDK里面
我们可以在环境变量类路径变量CLASSPATH里面添加,这个包在tomcat安装目录下的lib文件夹下有。
CLASSPATH里面添加E:\apache-tomcat-6.0.18\lib\servlet-api.jar后就可以编译成功了。
我们看到编译后会在web应用目录下的/WEB-INF/classess文件夹下会生成包目录文件/com/hsp,在该文件夹下会有MyFirstServlet.class文件。其实给别人项目文件时不需要给.java文件,有.class文件就可以正常运行。
根据servlet规范,我们还需要部署servlet
根据servlet规范,需要将servlet部署到项目的web.xml文件(WEB-INF目录下),在用IDE开发时,会根据某些窗口操作自动写入,后面再进行学习。
现在先手工写。
该部署配置可以从examples下拷贝