Servlet是Java Servlet的简称,称为小程序或服务连接器,用Java编写的服务端程序,主要功能在于交互式地浏览和修改数据,生成动态的Web内容;Servlet运行于支持Java的应用服务器中;从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展HTTP协议的Web服务器;
Servlet编程需要用javax.servlet和javax.servlet.http两个包下面的类和接口,在所有的类和接口中,javax.servlet.servlet接口最为重要。所有的servlet程序都必须实现该接口或者继承实现了该接口的类;
上面这张图是Servlet的类关系的结构图;其中Servlet是接口,GenericServlet是实现Servlet接口的抽象类,HttpServlet是继承GenericServlet的抽象类;
-
- Servlet接口
在ServletAPI中最重要的是Servlet接口,所有Servlet都会直接或间接的与该接口发生联系,或是直接实现该接口,或间接继承自实现了该接口的类;
该接口包含这五个方法:
init(ServletConfig config) ServletConfig getServletConfig() service(ServletRequest req,ServletResponse res) String getServletInfo() destroy()
- GenericServlet抽象类
对Servlet接口中的部分方法(init和destroy)添加了实现,使得开发时只需要考虑针对service方法的业务实现即可 ;
-
- HttpServle抽象t类
- HttpServle抽象t类
继承GenericServlet的基础上进一步的扩展 ;
Servlet的url-pattern配置方式
1.全路径匹配,精确匹配,url-pattern怎么写的,外界就怎么访问
在继承HttpServlet类的上面添加注解@WebServlet("/demo"); 在web.xml中添加<url-pattern>/demo</url-pattern>;
2.目录匹配,带"*"的
在继承HttpServlet类的上面添加注解@WebServlet("/demo/*"); 在web.xml中添加<url-pattern>/demo/*</url-pattern>;
3..扩展名匹配,请求的url路径只需要满足扩展名就行
在继承HttpServlet类的上面添加注解@WebServlet("*.jsp"); 在web.xml中添加<url-pattern>*.jsp</url-pattern>;