Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)
本篇文件主要記錄下怎么在jdk7+tomcat7下,使用eclipse創建并運行一個servlet工程。
安裝具體步驟從網上搜索就可以找到,這里不再贅述。
在eclipse中切換到j2ee下,
從導航菜單windows下找到show view選項,并在show view下找到server。
在server中創建tomcat server。
并從導航菜單file下找->new->dynamic web project.
在project name中輸入工程名稱MyServlet001
一直下一步,一直到如下步驟:
這里一定要記得勾選Generate web.xml deployment description選項,否則在/WebContent/Web-INF/下會缺少web.xml文件。
新建好的工程結構如下:
我們在src中添加包com.dx.hello,并創建java類HelloServlet.class,并讓該類實現servlet的init,service,distory,getServletConfig,getServletInfo函數,并添加HelloServlet類的構造函數,并在每個函數內部輸出函數的名稱。
1 package com.dx.hello; 2 3 import java.io.IOException; 4 import javax.servlet.Servlet; 5 import javax.servlet.ServletConfig; 6 import javax.servlet.ServletException; 7 import javax.servlet.ServletRequest; 8 import javax.servlet.ServletResponse; 9 10 public class HelloServlet implements Servlet { 11 public HelloServlet() { 12 System.out.println("HelloServlet constructor"); 13 } 14 15 public void init(ServletConfig config) throws ServletException { 16 System.out.println("init"); 17 } 18 19 public void destroy() { 20 System.out.println("destroy"); 21 } 22 23 public ServletConfig getServletConfig() { 24 System.out.println("getServletConfig"); 25 return null; 26 } 27 28 public String getServletInfo() { 29 System.out.println("getServletInfo"); 30 return null; 31 } 32 33 public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { 34 System.out.println("service"); 35 } 36 37 }修改配置文件web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 5 id="WebApp_ID" version="3.0"> 6 7 <!-- 配置和映射 servlet --> 8 <servlet> 9 <!-- Servlet注冊的名字 --> 10 <servlet-name>helloServlet</servlet-name> 11 <!-- Servlet全類名 --> 12 <servlet-class>com.dx.hello.HelloServlet</servlet-class> 13 </servlet> 14 <servlet-mapping> 15 <!-- 對應servlet節點下的servlet-name的注冊名字一致 --> 16 <servlet-name>helloServlet</servlet-name> 17 <!-- 映射具體的訪問路徑,其中/代表當前web的根目錄 --> 18 <url-pattern>/hello</url-pattern> 19 </servlet-mapping> 20 21 </web-app>啟動tomcat,在瀏覽器中輸入http://localhost:8080/MyServlet001/hello.回車將會在瀏覽器中出現一個空白頁面。
這是我們在eclipse中查看tomcat日志信息會發現如下信息:
。。。 INFO: Command line argument: -Dfile.encoding=GBK 二月 27, 2016 10:10:44 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\java\jdk1.6\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Program Files/Java/jdk1.7.0_79/bin/../jre/bin/server;D:/Program Files/Java/jdk1.7.0_79/bin/../jre/bin;D:/Program Files/Java/jdk1.7.0_79/bin/../jre/lib/amd64;E:\SourceCode\lihui\Network\LTEPlanDesktop\LTEPlanDesktop-ZJ\DTGroup.LTEPlanDesktop.WinUI\References\SuperMap\;D:\Program Files\Java\jdk1.7.0_79\bin;D:\Program Files\Java\jdk1.7.0_79\jre\bin;D:\java\axis2-1.6.3\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;D:\Program Files\Microsoft SQL Server\100\Tools\Binn\;D:\Program Files\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;D:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files (x86)\scala\bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\scala\bin;C:\Program Files\Microsoft\Web Platform Installer\;%USERPROFILE%\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;d:\AppServ\php5.5;;D:\java\eclipse-jee-mars-1-win32-x86_64\eclipse;;. 二月 27, 2016 10:10:44 下午 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 二月 27, 2016 10:10:44 下午 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 二月 27, 2016 10:10:44 下午 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1481 ms 二月 27, 2016 10:10:44 下午 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 二月 27, 2016 10:10:44 下午 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.65 二月 27, 2016 10:10:46 下午 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 二月 27, 2016 10:10:46 下午 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 二月 27, 2016 10:10:46 下午 org.apache.catalina.startup.Catalina start INFO: Server startup in 1379 ms HelloServlet constructor init service之后,再eclipse中停止tomcat server服務,將會發下tomcat server日志信息:
二月 27, 2016 10:12:45 下午 org.apache.catalina.core.StandardServer await INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance. 二月 27, 2016 10:12:45 下午 org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8080"] 二月 27, 2016 10:12:45 下午 org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-bio-8009"] 二月 27, 2016 10:12:45 下午 org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina destroy 二月 27, 2016 10:12:45 下午 org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-bio-8080"] 二月 27, 2016 10:12:45 下午 org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["ajp-bio-8009"] 二月 27, 2016 10:12:45 下午 org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8080"] 二月 27, 2016 10:12:45 下午 org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["ajp-bio-8009"]不錯,上邊日志信息標示為紅色的字體信息,正是HelloServlet.java函數中打印出來的信息,這整個過程也就是從一個servlet的初始化,到結束的整個生命周期,而tomcat正是管理servlet生命周期的一個容器。
Servlet工作原理:
web.xml是一個必須必須配置的,如果訪問的路徑:http://localhost:8080/MyServlet001/hello,tomcat會根據配置的web.xml信息找到對應的servlet-mapping集合,并根據該集合中的servlet-name找到servlet節點下的servlet-class選項,并調用該類的中的對應函數信息,實現與客戶端接收與相應工作。
從Servlet工作原理中我們也可以發下,tomcat就是servlet的一個運行容器,它控制了servlet的整個生命周期。
?
下章節,我們記錄servlet怎么使用及它的工作原理相關細節。
轉載于:https://www.cnblogs.com/yy3b2007com/p/5223825.html
總結
以上是生活随笔為你收集整理的Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 视觉SLAM十四讲 第9讲 卡尔曼滤波
- 下一篇: python处理excel的方法有哪些_
