servlet的小例子


servlet測試

首先,打開myeclipse,file|new|Dynamic Web Project 會出現一個對話框,在Project name的文本框中輸入:FirstServlet;然后點擊finish,完成創建。

注意配置tomcat,點擊工具欄的Window/Preferences/MyEclipse/Servers/Tomcat/Tomcat 7.x,然后選中你的tomcat,Enable,確定;

其次,展開項目,在src下新建New|Servlet,彈出對話框,在Java package中輸入:cc.openhome(包名),className:HelloServlet,點擊finish完成,如下:

添加藍色部分

package cc.openhome;

 

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

@WebServlet("/hello.view")

public class HelloServlet extends HttpServlet { //1.繼承HttpServlet

  public HelloServlet() {   super();  }

  public void destroy() {   super.destroy();  }

  public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException { //2.重新定義doGet

    response.setContentType("text/html;charset=UTF-8");   //3.設置響應類型

    PrintWriter out = response.getWriter();   //4.取得響應輸出對象

    String name=request.getParameter("name");   //5.取得請求參數

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");   

    out.println("<HTML>");   

    out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");   

    out.println("<BODY>");   

    out.println("<h1>Hello!"+name+"</h1>");   //6.數據輸出到前端

    out.print("This is ");   

    out.print(this.getClass());   

    out.println(", using the GET method");   

    out.println("  </BODY>");   

    out.println("</HTML>");   

    out.flush();   out.close();  

  }

  public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

    response.setContentType("text/html");   

    PrintWriter out = response.getWriter();   

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");   

    out.println("<HTML>");   out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");   

    out.println("  <BODY>");   

    out.print("    This is ");   

    out.print(this.getClass());   

    out.println(", using the POST method");   

    out.println("  </BODY>");   

    out.println("</HTML>");   

    out.flush();   

    out.close();  

  }

  public void init() throws ServletException {   // Put your code here  }

}

 在HelloServlet.java 上右擊選擇 Run as / MyEclipse Server Application啟動tomcat;

在瀏覽器地址欄輸入http://localhost:8080/FirstServlet/hello.view?name=nihao會出現如下結果:

至於標注@WebServlet("/hello.view") 這表示URL是/hello.view,就會由HelloServlet.java來處理請求。

另外,url也可以在項目的WEB-INF/web.xml內設置,如:

<servlet>

  <servlet-name>HelloServlet</servlet-name>    

  <servlet-class>cc.openhome.HelloServlet</servlet-class>  

  <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>    

  <servlet-name>HelloServlet</servlet-name>    

  <url-pattern>/hello.do</url-pattern>  

</servlet-mapping>

當請求為/hello.do時,則有HelloServlet來處理,這分別是由<servlet-mapping>中的<servlet-name>和<url-pattern>來定義,而HelloServlet名稱的Servlet,實際上是cc.openhome.HelloServlet類的實例,這分別是由<servlet>中的<servlet-name>和<servlet-calss>來定義,如果有多個Servlet在設置<load-on-startup>時,使用了相同的數字,則以其在web.xml中設置的順序來初始Servlet,若<url-pattern>中的內容和標注中的內容一樣,則web.xml會覆蓋@WebServlet()標注

有三種方式可以設置處理Servlet請求的方式,請參考:

http://e.dangdang.com/html/reader.html;jsessionid=9798112171FADBF7AC2707188C1DF13F?productId=1900280541&bookUid=bb.135546768822699731


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM