a)实现servlet接口
在web.xml里配置
b)继承抽象类GenericServlet
web.xml的配置同上
c)继承HttpServlet
web.xml的配置同上
//这是我的第一个Servlet,使用servlet接口的方式来开发
package com.tsinghua;
import javax.servlet.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.*;
public class Hello implements Servlet{
public Hello() {
}
/**
* Method init
* 该函数用于初始化该servlet(类似于类的构造函数)
*
* 该函数只会被调用一次(当用户第一次访问该Servlet时被调用);
*/
public void init(ServletConfig parm1) throws ServletException {
System.out.println("init it");
}
/**
* Method getServletConfig
* @return
*/
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}
/**
* Method service
* 这个函数用于处理业务逻辑
* 程序员应当把业务逻辑代码写在这里
*当用户每访问该servlet时都会被调用
*
*request用于获得客户端(一般指浏览器)的信息
*response用于向客户端(一般指浏览器)返回信息
*/
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
System.out.println("service it");
//从response中得到PrintWriter();
PrintWriter pw=response.getWriter();
pw.println("service hello word");
}
public String getServletInfo() {
return "";
}
/**
* Method destroy
* 销毁servlet 实际就是释放内存
* 可能调用该函数的情况
* 1.reload 该Servlet(webApps)
* 2.关闭tomcat
* 3.关闭服务器
*/
public void destroy() {
System.out.println("destory");
}
}
在web.xml里配置
<servlet>
<!--给servlet取名,任意的-->
<servlet-name>hello</servlet-name>
<!--指明servlet的路径,(包名+类名)-->
<servlet-class>com.tsinghua.Hello</servlet-class>
</servlet>
<servlet-mapping>
<!--Servlet的名字,一定要与相应的servlet对应相同-->
<servlet-name>hello</servlet-name>
<!--访问该servlet的url,任意的,前面要加/-->
<url-pattern>/ps</url-pattern>
</servlet-mapping>
b)继承抽象类GenericServlet
package com.cn;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
* GenericServlet是一个抽象类
* */
public class Hello extends javax.servlet.GenericServlet {
//用这种方式实现servlet的时候,只需实现service方法即可
//request用于获得客户端(一般指浏览器)的信息
//response用于向客户端(一般指浏览器)返回信息
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
System.out.println("service it");
//从response中得到PrintWriter();
PrintWriter pw=response.getWriter();
pw.println("service hello word");
}
}
web.xml的配置同上
c)继承HttpServlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Hello extends javax.servlet.http.HttpServlet{
//request用于获得客户端(一般指浏览器)的信息
//response用于向客户端(一般指浏览器)返回信息
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
//request用于获得客户端(一般指浏览器)的信息
//response用于向客户端(一般指浏览器)返回信息
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("service it");
//从response中得到PrintWriter();
PrintWriter pw=resp.getWriter();
pw.println("service hello word");
}
}
web.xml的配置同上