本篇內(nèi)容介紹了“Tomcat入門知識(shí)點(diǎn)有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出大方免費(fèi)做網(wǎng)站回饋大家。
背景介紹
Apache Tomcat 是Java Servlet、JavaServer Pages (JSP)、Java表達(dá)式語言和Java的WebSocket技術(shù)的一個(gè)開源實(shí)現(xiàn) ,通常我們將Tomcat稱為Web容器或者Servlet容器 。
tomcat各版本和相應(yīng)規(guī)范的映射關(guān)系:
下載地址
https://tomcat.apache.org/download-90.cgi下載到本地并解壓:
進(jìn)入主目錄:
tomcat目錄介紹
bin
啟動(dòng),關(guān)閉和其他腳本。這些 .sh文件(對(duì)于Unix系統(tǒng))是這些.bat文件的功能副本(對(duì)于Windows系統(tǒng))。由于Win32命令行缺少某些功能,因此此處包含一些其他文件。
比如說:windows下啟動(dòng)tomcat用的是startup.bat,另外Linux環(huán)境中使用的是startup.sh。對(duì)應(yīng)還有相應(yīng)的shutdown關(guān)閉腳本。
conf
tomcat的配置文件和相關(guān)的DTD。這里最重要的文件是server.xml。它是容器的主要配置文件。
catalina.policy:tomcat:安全策略文件,控制JVM相關(guān)權(quán)限,具體可以參考java.security.Permission。
catalina.properties:tomcat Catalina 行為控制配置文件,比如:Common ClassLoader。
logging.properties:tomcat日志配置文件。里面的日志采用的是JDK Logging。
server.xml:tomcat server配置文件(對(duì)于我開發(fā)人員來說是非常重要)。
context.xml:全局context配置文件,監(jiān)視并加載資源文件,當(dāng)監(jiān)視的文件發(fā)生發(fā)生變化時(shí),自動(dòng)加載 。
tomcat-user.xml:tomcat角色配置文件。
web.xml:Servlet標(biāo)準(zhǔn)的web.xml部署文件,tomcat默認(rèn)實(shí)現(xiàn)部分配置 入內(nèi):
org.apache.catalina.servlets.DefaultServlet。
org.apache.jasper.servlet.JspServlet
logs
日志文件默認(rèn)位于此處。
localhost有用,當(dāng)你們的tomcat啟動(dòng)不了的時(shí)候,多看這個(gè)文件。比如:
NoClassDefFoundError
ClassNotFoundException
access最沒用。
catalina.{date} 主要是控制臺(tái)輸出,全部日志都在這里面。
webapps
這是您的webapp所在的位置。其實(shí)這里面這幾個(gè)都是一個(gè)項(xiàng)目。
簡化web部署的方式。在線上環(huán)境中我們的應(yīng)用是不會(huì)放在這里的。最好的辦法就是外置。
libtomcat存放共用的類庫。比如:
ecj-4.17.jar: eclipse Java編譯器
jasper.jar:JSP編譯器。
work
存放tomcat運(yùn)行時(shí)編譯后的文件,比如JSP編譯后的文件 。
temp
存放運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件。
啟動(dòng)tomcat
啟動(dòng)tomcat
我們?cè)趙indows下的就直接啟動(dòng)bin目錄下的startup.bat,對(duì)應(yīng)Linux環(huán)境中我們使用的是startup.sh。
雙擊就能啟動(dòng)了??刂婆_(tái)會(huì)輸8080端口,然后我們?cè)L問:
http://localhost:8080/頁面展示:
這就代表著我們的tomcat啟動(dòng)成功了。
此時(shí),http://localhost:8080/請(qǐng)求到的是ROOT目錄。
比如:我們還可以http://localhost:8080/manager
Servlet項(xiàng)目部署到tomcat中
創(chuàng)建web項(xiàng)目
使用maven創(chuàng)建web項(xiàng)目,既然說tomcat是Servlet容器,那么在項(xiàng)目中創(chuàng)建一個(gè)Servlet類,然后打成war包,拷貝到tomcat中部署。
項(xiàng)目結(jié)構(gòu)如下:
添加依賴
4.0.0 com.tian.maven my-web-maven war 1.0-SNAPSHOT my-web-maven Maven Webapp http://maven.apache.org junit junit 3.8.1 test javax.servlet javax.servlet-api 3.1.0 my-web-maven
創(chuàng)建DemoServlet
package com.tian.maven; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(urlPatterns = "/demo") public class DemoServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String msg = req.getParameter("message"); String contextPath = req.getServletContext().getContextPath(); System.out.println("contextPath=" + contextPath); resp.getWriter().println(msg); } }
web.xml什么都沒有,僅僅就是為了打包。
Archetype Created Web Application
index.jsp找那個(gè)也沒什么內(nèi)容:
Hello World!
使用mvn命令打成war包。
把打成的war包拷貝(其實(shí)拷貝my-web-maven文件夾也是一樣的)到tomcat中webapps目錄下:
然后到bin目錄下,雙擊
項(xiàng)目運(yùn)行起來后,訪問 http://localhost:8080/
證明我們的項(xiàng)目已經(jīng)啟動(dòng)成功了。
接下來我們?cè)L問我們寫的Servlet:
http://localhost:8080/demo?message=hello
報(bào)錯(cuò),HTTP狀態(tài) 404 - 未找到;
注意:這里訪問的時(shí)候,我們需要把項(xiàng)目名稱當(dāng)做contextPath,即訪問方式應(yīng)該是:
http://localhost:8080/my-web-maven/demo?message=hello頁面上輸出
hello
輕松搞定,這樣我們的項(xiàng)目就成功的部署到tomcat中。
IDEA中的項(xiàng)目部署到tomcat中
創(chuàng)建一個(gè)servlet項(xiàng)目,項(xiàng)目名稱my-servlet。
新建一個(gè)類MyServlet
進(jìn)入我們剛剛安裝的tomcat目錄,進(jìn)入到lib目錄中,選中servlet-api.jar。
點(diǎn)擊ok。
點(diǎn)擊Apply,然后點(diǎn)擊OK。
修改MyServlet內(nèi)容:
package com.tian.servlet; import javax.servlet.*; import java.io.IOException; import java.io.PrintWriter; //實(shí)現(xiàn)接口Servlet,必須重寫下面的這些方法 public class MyServlet implements Servlet { private transient ServletConfig servletConfig; @Override public void init(ServletConfig servletConfig) throws ServletException { this.servletConfig = servletConfig; } @Override public ServletConfig getServletConfig() { return servletConfig; } @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { String servletName = servletConfig.getServletName(); //網(wǎng)頁響應(yīng)類型,瀏覽器將其渲染為HTML格式 response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println("" + " Hello this is " + servletName + ""); } @Override public String getServletInfo() { return "my first Servlet"; } @Override public void destroy() { } }
修改web.xml文件內(nèi)容:
myServlet com.tian.servlet.MyServlet myServlet /demo
另外我們把index.jsp內(nèi)容修改一下,主要是為了更好的演示:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>hello world
IDEA集成tomcat
在我們的IDEA中添加我們安裝的tomcat:
來到tomcat配置 的界面:
配置tomcat:
進(jìn)入安裝目錄:
點(diǎn)擊OK,
然后進(jìn)入deployment欄目:
添加我們創(chuàng)建的servlet項(xiàng)目:
自動(dòng)就添加了我們的項(xiàng)目
然后點(diǎn)擊Apply,再點(diǎn)擊OK。
IDEA集成tomcat,以及把我們項(xiàng)目給關(guān)聯(lián)起來了。下面我們就來運(yùn)行一下:
啟動(dòng)tomcat
點(diǎn)擊綠色三角:
證明我們的項(xiàng)目在tomcat中已經(jīng)啟動(dòng)成功
訪問我們的servlet
此時(shí),我們就可以來訪問我們的servlet了。
訪問:http://localhost:8080/ 頁面顯示就是我們前面修改的index.jsp的內(nèi)容。
再訪問我們自己寫的Servlet:
http://localhost:8080/demo
成功的把我們的內(nèi)容給輸出來了。
“Tomcat入門知識(shí)點(diǎn)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!