1.Servlet入门
Sun公司提供的用来开发动态web资源的技术,本质上是一段java小程序,能够运行在Servlet容器(Tomcat)当中。1.写一个类,实现Servlet接口
(1)写一个类继承了GenericServlet (2)先将Servlet包加入Classpath (3)javac -d . FristServlet 2.将写好的类注册到tomcat中(web.xml文件中进行配置) (4)将编译好的Servlet放置到web应用的WEB-INF/classes目录下 (5)在web.xml中进行配置 <servlet> <servlet-name>FirstServlet</servlet-name> -- 给Servlet起一个名字,仅仅是名字而已 <servlet-class>com.itheima.FirstServlet</servlet-class> -- 具体Servlet 的类全路径名,注意不是文件名 </servlet> <servlet-mapping> <servlet-name>FirstServlet</servlet-name> -- 给哪个名字的Serlvet配置对外访问路径 <url-pattern>/servlet/first</url-pattern> -- 配置通过哪个路径去访问此Servlet </servlet-mapping> 3.Servlet生命周期 Servlet的生命周期: 当Servlet第一次被访问到时,服务器会创建Servlet对象,立即调用Servlet的init方法执行初始化操作。从此这个Servlet一直驻留在内存中为后续的所有对此Servlet的访问服务器。此后每次对Servlet的访问都会造成Servlet中Service方法执行。当服务器关闭或web应用被移除出容器时随着web应用的销毁,Servlet跟着销毁,在Servlet销毁之前服务器会调用Servlet的destory方法,做一些善后工作。 4.Servlet的继承结构 Servlet接口 -- 定义了Servlet应该具有的最基本的方法 init、destory 、service | |--GenericServlet -- 对Servlet接口的一个默认实现类,对于一般我们不关注的方法这个类帮我们做了默认实现,除了Service是抽象的方法,需要继承者自己去实现,与协议无关,不具有和协议相关的方法 | |--HttpServlet -- 在GenericServlet的基础上,基于HTTP协议进行了增强,提供许多和HTTP协议相关的方法,实现了GenericServlet中抽象的Service方法,在Service方法中判断当前的请求方式,如果是get请求,调用doGet()方法,如果是Post请求,调用doPost(),我们如果想要继承HttpServlet实现一个Servlet时,只要继承这个类,覆盖doGet和doPost方法就可以了,一般不推荐直接覆盖Servcie方法。 5.细节 servletmapping标签中: (1)直接写一个固定的路径,通过这个固定路径来访问当前Servlet (2)使用*号通配符来进行配置,但是只能是下面两种固定的写法 以/开通并以/*结尾的路径 以*.后缀的方式配置的路径 配置load-on-startup ,使Servlet随着服务器的启动web应用加载后立即创建缺省Servlet:其他Servlet都不处理的请求,由我来处理.浏览器在访问静态资源、错误提示页面时,都是爸爸web.xml中配置的缺省Servlet在进行输出,所以平常自己就不要配置缺省Servlet,否则会导致静态资源、错误页面无法正确访问。