实现servlet的三种方法

a)实现servlet接口
  


//这是我的第一个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的配置同上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值