目录
什么是Servlet(Servlet可以用来做什么)
Servlet是java中的一个类,运行在服务端,是sun公司提供的一套规范。主要用来处理客户端请求、响应给浏览器动态资源。通俗的说Servlet是通过java的API动态的向客户端输出内容。
Servlet如何使用
1.创建servlet并且继承HttpServlet。
2.实现其中的service方法。
3.在web.xml文件中进行资源配置。
创建servlet类的代码如下:
package com.ahut.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class servlet_test2 extends HttpServlet {
/**
* Constructor of the object.
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("hello");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
在web.xml文件中对其进行配置:
<servlet>
<servlet-name>servlet_test2</servlet-name>
<servlet-class>com.ahut.servlet.servlet_test2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet_test2</servlet-name>
<url-pattern>/servlet_test2</url-pattern>
</servlet-mapping>
其中<url-pattern>/servlet_test2</url-pattern>这里面的内容是我们在浏览器中的访问地址,这个地址映射的名字是servlet_test2,然后根据这个名字找所对应的类即:<servlet-class>com.ahut.servlet.servlet_test2</servlet-class>,这样就可以访问servlet了。
其中url-pattern的配置方式:
- 完全匹配 访问的资源与配置的资源完全相同才能访问到
![]() |
2)目录匹配 格式:/虚拟的目录../* *代表任
![]() |
3)扩展名匹配 格式:*.扩展名
![]() |
Servlet的生命周期
在Servlet中有init()方法,用来初始化servlet,它在servlet对象被创建的时候执行。service()方法,这个是主要的方法,里面含有request请求信息和response响应信息,每一次访问它都会执行。destory()方法,该方法是销毁servlet,只有当servlet被销毁时会执行。所以servlet的生命周期是,默认第一次访问servlet时创建对象,服务器关闭时servlet就被销毁了,每次访问时都要执行service方法。
在web.xml中可以设置servlet启动的优先级,使用<load-on-startup>来设置,中间的数字表示优先级。
缺省的Servlet
可以将url-pattern配置一个/,代表该servlet是缺省的servlet
什么是缺省的servlet?
当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理
其实,web应用中所有的资源的响应都是servlet负责,包括静态资源
servletContext对象
1,什么是ServletContext对象
ServletContext代表是一个web应用的环境(上下文)对象,ServletContext对象 内部封装是该web应用的信息,ServletContext对象一个web应用只有一个,一个web应用有多个个servlet对象。
2,ServletContext对象的生命周期
创建:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状态))
销毁:web应用被卸载(服务器关闭,移除该web应用)
3,怎样获得ServletContext对象
- ServletContext servletContext = config.getServletContext();
- ServletContext servletContext = this.getServletContext()
4,ServletContext的作用
获得web应用全局的初始化参数
获得web应用中任何资源的绝对路径(非常重要)
方法:String path = context.getRealPath(相对于该web应用的相对地址);
ServletContext是一个域对象(非常重要)
ServletContext域对象的作用范围:整个web应(所有的web资源都可以随意向 servletcontext域中存取数据,数据可以共享)
域对象的通用的方法:
setAtrribute(String name,Object obj);
getAttribute(String name);
removeAttribute(String name);
多内容下载机器学习资料请扫描下方二维码关注小编公众号:程序员大管