JavaWeb-Servlet
Servlet
- Servlet是运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态的向客户端输出内容。

Servlet快速入门
实现步骤:
- 创建类实现Servlet接口
- 覆盖尚未实现的方法---重点实现service方法
- 在web.xml进行servlet的配置
java代码
package com.oracle.web;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ServletTest implements Servlet{
public void destroy() {
// 销毁时方法
}
public ServletConfig getServletConfig() {
return null;
// 获取ServletConfig对象方法
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {
// 创建时方法
}
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// 访问时方法
}
}
xml配置
<servlet>
<servlet-name>ServletTest</servlet-name>
<servlet-class>com.oracle.web.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest</servlet-name>
<url-pattern>/ServletTest</url-pattern>
</servlet-mapping>
ServletAPI
Servlet接口中的方法
1、init(ServletConfig config)
servlet对象创建的时候执行
ServletConfig 代表的是该servlet对象的配置信息
2、service(ServletRequest request,ServletResponse response)
何时执行:每次请求都会执行
ServletRequest 代表请求认为ServletRequest内部封装的是 http请求的信息
ServletResponse 代表响应认为要封装的是响应的信息
3、destroy()
何时执行:servlet销毁的时候执行
生命周期
默认(服务器启动时)第一次访问servlet时创建该对象,服务器关闭servlet被销毁
每次访问必然执行的方法service(ServletRequest req, ServletResponse res)方法
问题
对XXXServlet进行了10次访问,init(),destory(),service(),doGet(),doPost() 一共执行力多少次?request对象创建几个?response创建几个?
| init()1次 | destory()1次 | service()10次 | request对象创建10个 | response创建10个 |
|---|
HttpServlet类的方法
1)init()
2)doGet(HttpServletRequest request,HttpServletResponse response)
3)doPost(HttpServletRequest request,HttpServletResponse response)
4)destroy()
Servlet配置
虚拟路径配置
url-pattern的配置方式
- 完全匹配访问的资源与配置的资源完全相同才能访问到
- 目录匹配 格式:
/虚拟的目录../*(*代表任意) - 扩展名匹配 格式:
*.扩展名
<!-- 完全匹配 -->
<url-pattern>/Confi</url-pattern>
<!-- 目录匹配 -->
<url-pattern>/aaa/bbb/ccc/*</url-pattern>
<!-- 扩展名匹配 -->
<url-pattern>*.abc</url-pattern>
欢迎页面配置
直接进入项目位置时默认进入的页面
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

浙公网安备 33010602011771号