(1) Servlet - 1
来源:互联网 发布:java开源crm系统 编辑:程序博客网 时间:2024/05/20 09:07
开发 Servlet 有三种方式:
- 实现 Servlet 接口
- 继承 GenericServlet 抽象类 service 是抽象方法
- 继承 HttpServlet 抽象类 实现了 service ,虽然是抽象类,但是没有抽象方法,需要被继承
继承体系:
Servlet 是接口,开发需要实现接口中的所有方法。
|
+– GenericServlet 抽象类,实现了 Servlet 接口,
abstract void service(ServletRequest req, ServletResponse res)
{ 抽象方法需要自己实现 }
|
+– HttpServlet 抽象类,继承 GenericServlet,默认实现了里面的
抽象方法,只需要重写 doGet doPost 即可。这两个 do 方法
其实就是对 Servlet 中的 service 方法进行了封装。
方式一:实现 Servlet 接口
public class Servlet_1 implements Servlet { // 初始化 Servlet ,就是把该 Servlet 装载到内存中,只执行一次。 public void init(ServletConfig config) throws ServletException { } // 销毁该Servlet,从内存中清除掉,只调用一次。 public void destroy() { } // 得到 ServletConfig 对象 public ServletConfig getServletConfig() { return null; } // 得到Servlet信息。 public String getServletInfo() { return null; } // 是服务函数,业务逻辑代码写到这里,该函数每次都被调用。 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { } }
方式二:继承 GenericServlet 接口
重写 service( ) 方法
方式三:继承 HttpServlet 接口
重写 doPost( ) doGet( ) 方法
注意:
MyEclipse 中是没有 Servlet 规范的,Myeclipse 中的插件导入了关于 JavaEE 的包并设置 classpath
Servlet 的配置:
为什么 Servlet 需要配置?
浏览器访问 Tomcat 服务器时,是和 Web 服务模块打交道。
Web 服务模块根据用户的请求,去 Servlet 容器找到对应的资源文件。
配置文件的用处就是帮助 Web 服务器找到对应的资源文件。
配置方法:
<servlet> <!-- 注册一个Servlet --> <!-- 给 Servlet 取一个名字,可以随意起,但是必须要保证和下面的配置一样 --> <servlet-name>Demo1</servlet-name> <!-- Servlet 的位置 --> <!-- 项目下的 Servlet 文件位置,包名 . 文件名,不要加.java --> <servlet-class>Servlet_Test_1.Servlet_1</servlet-class></servlet><servlet-mapping> <!-- 根据注册的 Servlet 进行映射 --> <!-- 给 Servlet 取一个名字,但是必须要保证和下面的配置一样 --> <servlet-name>Demo1</servlet-name> <!-- URL 的访问路径 --> <!-- 根据注册的 Servlet 进行映射 --> <url-pattern>/ABC</url-pattern></servlet-mapping><!-- 一个已经注册的Servlet可以有多个映射 --><servlet-mapping> <!-- 根据注册的 Servlet 进行映射 --> <!-- 给 Servlet 取一个名字,但是必须要保证和下面的配置一样 --> <servlet-name>Demo1</servlet-name> <!-- URL 的访问路径 --> <!-- 根据注册的 Servlet 进行映射 --> <url-pattern>/DEF</url-pattern></servlet-mapping>
映射通配符:
① *.扩展名 没有斜杠!
例如 *.do
<servlet> <servlet-name>First</servlet-name> <servlet-class>Test01.Demo1</servlet-class></servlet><servlet-mapping> <servlet-name>First</servlet-name> <url-pattern>*.do</url-pattern></servlet-mapping>// http://localhost/ServletDemo1/Demo1.do 访问即可
② 以 / 开头,同时 /* 结尾
例如 /a/*
<servlet> <servlet-name>First</servlet-name> <servlet-class>Test01.Demo1</servlet-class></servlet><servlet-mapping> <servlet-name>First</servlet-name> <url-pattern>/a/*</url-pattern></servlet-mapping> // 访问时,/a 下的资源都访问这个文件
映射通配符优先级:
① 谁的匹配度高,谁就命中
② *.do 的优先级最低
- JSP&Servlet--Servlet(1)
- servlet--1
- servlet(1)
- Servlet 1
- Servlet(1)
- Servlet(1)
- Servlet<1>
- Servlet(1)
- Servlet(1)
- Servlet-1
- Servlet(1)
- Servlet (1)
- servlet(1)
- servlet -1
- Servlet(1)
- servlet -> (1)
- Servlet介绍(1)-----接口Servlet
- Servlet与Servlet容器(1)
- 数据库设计--数据流图(DFD)
- GCJ 2009 Round2 A 构造贪心策略
- (二)mybatis 使用接口的方式编程
- mysql5.6新特性总结
- 运行hadoop报错
- (1) Servlet - 1
- AVAudioRecorder 录音
- DirectUI界面编程(六)实现右键弹出菜单
- Java Socket编程
- Git版本库添加空目录
- nyoj 814又见拦截导弹
- 用php编写空心金字塔,主要在于学习它的逻辑与思想
- swift 中如何定义接口
- Java日志框架——SLF4J