Eclipse写Servlet
1、配置 jdk
2、配置 tomcat
3、Eclipse 是用一个插件来运行 tomcat
Eclipse把你的tomcat核心文件复制了一个小型的Tcomcat, WEB项目是运行在这个小型的Tomcat中的,和原始 tomcat 没有关系
你的 Web 项目最终是被部署到以下目录:
workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
两种方式配置Servlet
方式一:web.xml 配置 url 到 Servlet 的映射
<servlet>
<servlet-name>hello</servlet-name>
<servletclass>com.oracle.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/admin/hello</url-pattern>
</servlet-mapping>
方式二:用 Annotation 配置 Servlet
在 Servlet 类的前面加上
@WebServlet("/welcome")
@WebServlet(value="/welcome",name="hi")
<webapp metadata-complete= "false" > 是 xml 和 Annotation 都起作用
<webapp metadata-complete= "true" > 只有 XML 起作用
Servlet 、ServletConfig 、GenericServlet
1.Servlet 接口
destroy():用于销毁 Servlet 所初始化的资源,
init(ServletConfig config):实例化 Servelt 对象后,会调用 init(),用于将 ServletConfig 对象传给 Servlet
**ServletConfig getServletConfig()**用于返回 ServletConfig 对象
getServletInfo() 获取一些信息,没用
service(ServletRequest req, ServletResponse res) 这方接收用户的请求,并给用户响应
我们写 Servlet 如果直接实现 Servlet 接口比较麻烦,我们继承 GenericServlet,因为 GenericServlet 实现了 Servlet和 ServletConfig 接口
2.ServletConfig 接口
Tomcat 在启动时,加载 web.xml 或读取 Servlet 类上的 Annotation 的 Servlet 配置,将这些配置信息封装成一个 ServletConfig 对象,会为每组 Servlet 配置各生成一个 ServletConfig 对象
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.oracle.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/admin/hello</url-pattern>
</servlet-mapping>
ServletConfig 对象中封装了:
1、Servlet 的名字
2、Servlet 的字节码在哪里
3、Servlet 对应的 URL
4、封装了 servlet 初始参数
3.GenericServlet
GenericServlet 实现了 Servlet 接口和 ServletConfig 接口,但是 servlet 接口的是 service 方法没有实现 ,增加了一个方法 init(),用于调用 servlet 接口中的 init(ServletConfig scf).还增加了两个 log 做日志的方法