Servlet实现的三种方法
(1)方法一:
//這是第一個(gè)實(shí)現(xiàn)servlet的方法。使用時(shí)限servlet接口的方法來實(shí)現(xiàn),使用的時(shí)候須要引用servlet-api.jarpackage com.lc;import javax.servlet.*; import java.io.*; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException;public class Hello implements Servlet{//該函數(shù)用于初始化該servlet(相似于類的構(gòu)造函數(shù))//該函數(shù)僅僅會(huì)被調(diào)用一次(當(dāng)用戶第一次訪問該servlet是被調(diào)用)public void init(ServletConfig parm1) throws ServletException {System.out.println("init it!");}public ServletConfig getServletConfig() {return null;}//這個(gè)函數(shù)用于處理業(yè)務(wù)邏輯//程序猿應(yīng)當(dāng)那個(gè)當(dāng)業(yè)務(wù)邏輯邏輯代碼寫在這里//當(dāng)用戶訪問servlet時(shí)都會(huì)被調(diào)用//req用于獲得client的信息 //res用戶想client返回信息 (能夠覺得是游覽器)public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {//從res中得到PrintwriterSystem.out.println("service it!"); //在控制臺(tái)顯示PrintWriter pw = res.getWriter();pw.println("hello world!");//在游覽器中顯示}public String getServletInfo() {return "";}//三種情況導(dǎo)致destroy的調(diào)用://1.reload 該servlet(webApps)//2.關(guān)閉tomcat//3.關(guān)機(jī)public void destroy() {//銷毀servt實(shí)例 實(shí)際就是釋放內(nèi)存System.out.println("destroy it!");}}(2)方法二: //第二個(gè)實(shí)現(xiàn)servlet程序,繼承GenericServlet 這樣的方法非常easypackage com.tsinghua;import javax.servlet.GenericServlet; import java.io.*; import javax.servlet.*;public class HelloGenericServlet extends GenericServlet{//重寫service方法就可以public void service(ServletRequest req,ServletResponse res){//返回hello world!generictry{PrintWriter pw =res.getWriter();pw.println("Hello world! generic!");}catch(Exception ex){ex.printStackTrace();}}}
(3)方法三: //第三個(gè)servlet實(shí)現(xiàn)程序。通過繼承HttpServletpackage com.tsinghua;import javax.servlet.http.*; import java.io.*;public class HelloHttp extends HttpServlet{//處理get請(qǐng)求//req:用于獲得client(游覽器)的信息//res:用于向client(游覽器)返回信息public void doGet(HttpServletRequest req,HttpServletResponse res){//業(yè)務(wù)邏輯try{PrintWriter pw = res.getWriter();pw.println("hello http!");}catch(Exception ex){ex.printStackTrace();}}//處理post請(qǐng)求//req:用于獲得client(游覽器)的信息//res:用于向client(游覽器)返回信息public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);} }
在實(shí)現(xiàn)上述三種方法的時(shí)候 須要配置web.xml文件。代碼例如以下: <?
xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <!--JSP servlet mappings starts--> <servlet> <!--給自己的servlet起個(gè)名字 隨意的名字--> <servlet-name>Hello</servlet-name> <!--指明servlet的路徑(包名+類名)--> <servlet-class>com.tsinghua.Hello</servlet-class> </servlet> <servlet-mapping> <!--和上邊的servlet的名字是一樣的--> <servlet-name>Hello</servlet-name> <!--這是在游覽器中輸入的訪問該servlet的url--> <url-pattern>/helloworld</url-pattern> </servlet-mapping> <servlet> <servlet-name>HelloGenericServlet</servlet-name> <servlet-class>com.tsinghua.HelloGenericServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloGenericServlet</servlet-name> <url-pattern>/helloGeneric</url-pattern> </servlet-mapping> <servlet> <servlet-name>HelloHttp</servlet-name> <servlet-class>com.tsinghua.HelloHttp</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloHttp</servlet-name> <url-pattern>/helloHttp</url-pattern> </servlet-mapping> <!--JSP servlet mappings end--> </web-app>
總結(jié)
以上是生活随笔為你收集整理的Servlet实现的三种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转] form.getForm().s
- 下一篇: POJ3268 Silver Cow P