Servlet調用流程

來源:互聯網
上載者:User

首先說說我們的Tomcat7.0的目錄結構:

       包括目錄:
       bin

       conf

       lib

       logs

       temp

       webapps

       work

 

       bin檔案:

                   存放各種平台下啟動和關閉Tomcat的指令檔。

                   startup.bat是windows下啟動tomcat的檔案。

                   shutdown.bat是關閉tomcat的檔案。

      conf目錄:

                   Tomcat的各種設定檔,tomcat啟動時需要讀取的設定檔:server.xml

      lib目錄:

                 存放Tomcat所需的各種jar檔案。

      logs目錄:
                 存放Tomcat的記錄檔。

      temp目錄:

                  臨時檔案目錄,用於存放Tomcat運行時的臨時檔案。

      webapps目錄:

                  web應用的發布目錄,把java編寫的web應用或打包成的war格式的web應用檔案放入該目錄下,就能通過Tomcat伺服器訪問了。

       work目錄:

                Tomcat把JSP檔案編譯產生Servlet檔案存放在這個目錄下。

 

資料傳送流程:

      

  

java servlet:

        我們要在webapps目錄下建立一個我們javaweb項目的目錄結構test_servlet:

        WEB-INF/classes web.xml lib 

        lib檔案:存放java包,資料庫驅動程式等等。

        classes檔案:存放已編譯好的類。

        Web.Xml:配置一些資訊,例如Servlet的配置,名字,路徑等,告訴我們的Tomcat我們使用的哪個Servlet。

        我們依次來寫:

        servlet代碼:

      

//引入java的包。import javax.servlet.http.*;import java.io.*;import javax.servlet.*;//第一個Servlet程式。public class LoginServlet extends HttpServlet{//指定調用哪個servlet。//get提交和post提交兩種方式。public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{//取得用戶端的資料。String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username" + username);System.out.println("password" + password);//向瀏覽器上寫資料。可以有流。字元流。//setContext設定響應的內容類型。設定為html類型或者中文。response.setContentType("text/html;charset=GB18030");//response.getWriter().println("Login Success!!!");//response.getWriter().println("登入成功!!!");response.getWriter().println("<html>");response.getWriter().println("<head>");response.getWriter().println("<title>登入資訊</title>");response.getWriter().println("</head>");response.getWriter().println("<body>");response.getWriter().println("歡迎【" + username + "】登入成功!!!");response.getWriter().println("</body>");response.getWriter().println("</html>");}//採用post的提交方式。public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doGet(request,response);}}

         雖然我們引入了jar包,但是程式是否能從找到tomcat的servlet  jar包,我們需要配置一下使用者的環境變數,把lib\servlet-api.jar包配置到classpath變數。當然tomcat也是java編碼的,所以我們也配置一下JAVA_HOME變數,可以在tomcat的批處理命令startup.bat中進行配置,set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43。

         然後把這個java檔案編譯成.class 檔案,放到classes檔案夾中。

         html代碼:

       

<html><head><title>登入</title></head><body>    <!--這是絕對路徑--><!--相對路徑寫法:action="LoginServlet"--><form action="http://127.0.0.1:8080/test_servlet/LoginServlet">使用者:<input type="text" name="username"><br>密碼:<input type="password" name="password"><br><input type="submit" value="登入"></form></body></html>

         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">    <servlet><servlet-name>MyServlet</servlet-name><servlet-class>LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/LoginServlet</url-pattern></servlet-mapping></web-app>

         啟動Tomcat就可以執行成功。

         下面是servlet的調用過程,也可以用HTTPLook軟體來跟蹤:

         

        

       作為一個java的初學者來說,開始一個servlet讓我很模糊,什麼是servlet呢?有道上說是servlet(小服務程式),學過了發現,也是26個英文字母的組合,其實說白了就是java代碼,但是因為他的用途,人們給他抽象總結了一個層次,叫做servlet,。就相當於縣長首先是人,再是縣長~,貌似搞得這兒複雜~不也是個幹活的麼~

      同樣是網頁,.net開發的網頁和java開發的有什麼區別呢?.net中有沒有servlet?據說.cs檔案寫“servlet”就相當於servlet了。呵呵,有待更深的研究,加油!

                                    

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.