目录
什么是Servlet(Servlet可以用来做什么)
Servlet如何使用
Servlet的生命周期
缺省的Servlet
什么是缺省的servlet?
servletContext对象
1,什么是ServletContext对象
2,ServletContext对象的生命周期
3,怎样获得ServletContext对象
4,ServletContext的作用
Servlet是java中的一个类,运行在服务端,是sun公司提供的一套规范。主要用来处理客户端请求、响应给浏览器动态资源。通俗的说Servlet是通过java的API动态的向客户端输出内容。
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_test2
com.ahut.servlet.servlet_test2
servlet_test2
/servlet_test2
其中
其中url-pattern的配置方式:
![]() |
2)目录匹配 格式:/虚拟的目录../* *代表任
![]() |
3)扩展名匹配 格式:*.扩展名
![]() |
在Servlet中有init()方法,用来初始化servlet,它在servlet对象被创建的时候执行。service()方法,这个是主要的方法,里面含有request请求信息和response响应信息,每一次访问它都会执行。destory()方法,该方法是销毁servlet,只有当servlet被销毁时会执行。所以servlet的生命周期是,默认第一次访问servlet时创建对象,服务器关闭时servlet就被销毁了,每次访问时都要执行service方法。
在web.xml中可以设置servlet启动的优先级,使用
可以将url-pattern配置一个/,代表该servlet是缺省的servlet
当你访问资源地址所有的servlet都不匹配时 , 缺省的servlet负责处理
其实,web应用中所有的资源的响应都是servlet负责,包括静态资源
ServletContext代表是一个web应用的环境(上下文)对象,ServletContext对象 内部封装是该web应用的信息,ServletContext对象一个web应用只有一个,一个web应用有多个个servlet对象。
创建:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状态))
销毁:web应用被卸载(服务器关闭,移除该web应用)
获得web应用全局的初始化参数
获得web应用中任何资源的绝对路径(非常重要)
方法:String path = context.getRealPath(相对于该web应用的相对地址);
ServletContext是一个域对象(非常重要)
ServletContext域对象的作用范围:整个web应(所有的web资源都可以随意向 servletcontext域中存取数据,数据可以共享)
域对象的通用的方法:
setAtrribute(String name,Object obj);
getAttribute(String name);
removeAttribute(String name);
多内容下载机器学习资料请扫描下方二维码关注小编公众号:程序员大管