生活随笔
收集整理的這篇文章主要介紹了
Servlet调用流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先說說我們的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]?view plaincopyprint?
<span?style="font-size:14px;">?? import?javax.servlet.http.*;?? import?java.io.*;?? import?javax.servlet.*;?? ?? public?class?LoginServlet?extends?HttpServlet?? {?? ?????? ?????? ????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);?? ???????? ?????????? ????????response.setContentType("text/html;charset=GB18030");?? ?????????? ?????????? ????????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>");?? ?????????? ????}?? ?????? ????public?void?doPost(HttpServletRequest?request,HttpServletResponse?response)?throws?ServletException,IOException?? ????{?? ????????doGet(request,response);?? ????}?? }</span>??
???????? 雖然我們引入了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]?view plaincopyprint?
<span?style="font-size:14px;"><html>?? ????<head>?? ????????<title>登錄</title>?? ????</head>?? ????<body>?? ?????????? ?????????? ????????<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></span>??
???????? Web.Xml :
?????????
[html]?view plaincopyprint?
<span?style="font-size:14px;"><?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></span>??
???????? 啟動Tomcat就可以執行成功。
???????? 下面是servlet的調用過程,也可以用HTTPLook軟件來跟蹤:
??????????
?????????
????? ?作為一個java的初學者來說,開始一個servlet讓我很模糊,什么是servlet呢?有道上說是servlet(小服務程序),學過了發現,也是26個英文字母的組合,其實說白了就是java代碼,但是因為他的用途,人們給他抽象總結了一個層次,叫做servlet,。就相當于縣長首先是人,再是縣長~,貌似搞得這兒復雜~不也是個干活的么~
總結
以上是生活随笔為你收集整理的Servlet调用流程的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。