===============
创建web项目,选择2.5,因为2,5有web.xml的配置文件,这个后面会讲
把jar包都放到lib文件里即可使用
现在开始写servlet
1 新建一个类实现servlet接口
2 配置web.xml,告诉tomcat服务器我们的程序里有这些servlet
这是一个基本的类继承了servlet
public class _001_MyServlet的基本使用 implements Servlet
{
//一次请求对应service方法调用一次
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException
{
//这里写主要代码,下面的方法都无太大用
System.out.println("进入servlet!!!!!!!!!!!!");
}
@Override
public void destroy()
{
// TODO 自动生成的方法存根
}
@Override
public ServletConfig getServletConfig()
{
// TODO 自动生成的方法存根
return null;
}
@Override
public String getServletInfo()
{
// TODO 自动生成的方法存根
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException
{
// TODO 自动生成的方法存根
}
}
配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Test</display-name>
<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>
<!-- 告诉tomcat这个应用里面有servlet,名字就叫MyServlet,servlet类的路径是com.servlet.MyServlet -->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.servlet.MyServlet</servlet-class>
</servlet>
<!-- 注册servlet的映射,servlet-name找到上面的MyServlet然后进入那个类,这个url-patter是地址栏上的虚拟路径,必须/开头 -->
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/a</url-pattern>
<!-- /a/* 代表输入/a后,后面的随便是什么路径都能访问到,*是通配符 -->
</servlet-mapping>
</web-app>
我们在地址栏上访问 http://localhost:8080/Test/a
即可输出这里的内容,访问一次输出一次
'
Servlet规范使用
但是我们的servlet里面不会去实现servlet,因为有很多方法都需要实现了,而我们又不用
所以去继承它的实现类,那么需要什么方法重写什么方法即可
//去继承它的实现类,那么需要什么方法重写什么方法即可
public class MyServlet extends HttpServlet
{
//因为父类的service里面会自动调用子类do get和do post方法
// protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
// {
// System.out.println("servlet22!!!!!");
// }
//初始化方法, 最先开始的执行的,并且只会执行一次
//这个方法还可以提前调用,用于初始化一些耗时的东西
public void init() throws ServletException
{
}
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
System.out.println("do Get方法");
}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
System.out.println("do Post方法");
}
//正常关闭服务器
@Override
public void destroy()
{
System.out.println("正常关闭服务器时调用");
}
}
servlet的执行过程