JavaWeb核心编程之Tomcat安装和配置
什么是JavaWeb
在Sun的Java Servlet規(guī)范中, 對(duì)Java Web應(yīng)用做了這樣的定義: "Java Web應(yīng)用由一組Servlet, HTML頁(yè)面, 類(lèi), 以及其他可以被綁定的資源構(gòu)成. 它可以在各種供應(yīng)商提供的實(shí)現(xiàn)Servlet規(guī)范的Servlet容器中運(yùn)行."
Java Web應(yīng)用中可以包含以下內(nèi)容:
1. Servlet
2.JSP
3.實(shí)用類(lèi)
4.靜態(tài)文檔 如: HTML, 圖片等
5.描述Web應(yīng)用的信息(web.xml)
?
servlet 和Servlet容器的關(guān)系
當(dāng)一個(gè)http請(qǐng)求的web服務(wù)器(例如tomcat), 如果是一個(gè)動(dòng)態(tài)資源, 服務(wù)器就回到一個(gè)Servlet容器中運(yùn)行Servlet,jsp,并返回給web服務(wù)器
Servlet容器: ?Servlet容器為JavaWeb應(yīng)用提供 ?運(yùn)行時(shí)環(huán)境, 它負(fù)責(zé)管理Servlet和JSP的聲明周期, 以及管理他們的共享數(shù)據(jù).
Servlet容器也稱(chēng)為Javaweb應(yīng)用容器, 或者Servlet/JSP容器.
目前最流行的Servlet容器軟件包括: Tomcat Resin J2EE服務(wù)器(WEblogic)中也提供了內(nèi)置的Servlet容器
?
我們大多數(shù)都是用的Tomcat
Tomcat是一個(gè)免費(fèi)的開(kāi)放源代碼的Servlet容器, 它是Apache軟件基金會(huì)的一個(gè)頂級(jí)項(xiàng)目, 由Apache, Sun和其他一些公司以及個(gè)人共同開(kāi)發(fā)而成, 由于有了Sun的參與與支持, 最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn)
不建議去搞9.0的版本, 經(jīng)過(guò)我自己用,很多時(shí)候不好使
這里提供一個(gè)我自己用的Tomcat7.0 64位的百度云鏈接 ?http://pan.baidu.com/s/1pLrMVuN ?在這里感謝百度, 雖然搜索引擎從來(lái)不用他, 但是百度云真的很好用
要啟動(dòng)Tomcat 需要配置JAVA_HOME 或者JRE_HOME 中的任何一個(gè) 然后運(yùn)行bin目錄下的startup, 然后在瀏覽器中輸入 localhost:8080
?
?
會(huì)出現(xiàn)上述的內(nèi)容, 注意, 上面圖片中紅線部分, manger webapp 這里是可以管理我們的所有項(xiàng)目 單擊打開(kāi) 提示輸入用戶(hù)名密碼
點(diǎn)取消
大概就是讓你在 ?conf/tomcat-users.xml 文件中添加配置選項(xiàng)
<role rolename="manager-gui"/> <user username="tomcat" password="s3cret" roles="manager-gui"/>所以我們找到F:\dev\apache-tomcat-7.0.67\conf\tomcat-users.xml 文件,打開(kāi) 1 <?xml version='1.0' encoding='utf-8'?> 2 3 <tomcat-users> 4 <role rolename="manager"/> 5 <user username="aaa" password="aaa" roles="manager"/> 6 </tomcat-users>
里面可能有一堆沒(méi)有用的東西, 都是注釋, 刪掉就行, 這里用戶(hù)名密碼,設(shè)置的都是aaa,配置完成后, 一定重啟tomcat 再回到 localhost:8080 點(diǎn)擊manger webapp 輸入用戶(hù)名密碼,就可以成功的進(jìn)來(lái)了
?
這些事現(xiàn)在服務(wù)器上已經(jīng)存在的項(xiàng)目目錄, 點(diǎn)擊就可以進(jìn)入到項(xiàng)目
Web程序結(jié)構(gòu)一個(gè)web應(yīng)用程序由一組Servlet HTML頁(yè)面, 類(lèi), 和其他靜態(tài)資源組成的運(yùn)行在web服務(wù)器上的完整的應(yīng)用程序, 以一種結(jié)構(gòu)化的,有層次的目錄所存在
組成web應(yīng)用程序的這些文件要部署在響應(yīng)的目錄層次中, 根目錄代表整個(gè)web應(yīng)用程序的"根"
通常將web用用程序的目錄放在webapps目錄下, 在webapps目錄下的沒(méi)一個(gè)子目錄都是一個(gè)獨(dú)立的web應(yīng)用程序, 子目錄的名字就是web應(yīng)用程序的名字, 也是web應(yīng)用程序的"根"
用戶(hù)通過(guò)web應(yīng)用程序的"根" 來(lái)訪問(wèn)web應(yīng)用程序中的資源
?
?
javaweb的開(kāi)發(fā)目錄
按照這個(gè)目錄結(jié)構(gòu), 在java中手工建立一個(gè)web在eclipse中新建一個(gè)java工程,建立和上面一樣的目錄結(jié)構(gòu), web.xml文件從現(xiàn)在已有項(xiàng)目中復(fù)制一下大概如下 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 3 <web-app xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 7 version="3.0" 8 metadata-complete="true"> 9 10 11 </web-app>
?
新建如上目錄結(jié)構(gòu), 和文件, 新建一個(gè)類(lèi) Person.java
到開(kāi)發(fā)目錄的 ? 開(kāi)發(fā)目錄\項(xiàng)目目錄\bin\com\test\hello/Person.class
從com目錄層復(fù)制到 ?開(kāi)發(fā)目錄/項(xiàng)目目錄/WebContent\com\test\hello/Person.class
把WebContent目錄復(fù)制到tomcat ? ?webapps目錄下 改名為hello
重啟服務(wù)器 ?http://localhost:8080/hello/hello.jsp
在cmd中可以看到打印信息
?
?
?
自動(dòng)部署class文件
?
把默認(rèn)的輸出目錄修改到WEB-INF的class目錄下配置任意目錄下的web應(yīng)用程序
在conf目錄下依次創(chuàng)建Catalina/localhost目錄,然后在localhost目錄下為test這個(gè)wen應(yīng)用建立text.xml文件,編輯這個(gè)文件
<?xml version="1.0" encoding="UTF-8"?>
<Context /*path="/test2"*/ docBase="絕對(duì)路徑" reloadable="true" />
/*path: 路徑*///好像沒(méi)有什么用
docBase: WEBContext目錄的絕對(duì)路徑
reloadable: 允許重載,當(dāng)修改了docBase目錄下classes目錄下的class文件,tomcat服務(wù)器是否重新自動(dòng)重載應(yīng)用
重啟服務(wù)器后 http://localhost:8080/text/hello.jsp 就可以得到和之前一樣的效果
其實(shí)上面這些東西, 在開(kāi)發(fā)的時(shí)候真的不用, 直接使用eclipse創(chuàng)建服務(wù)就可以了, 這些看看知道就行
?
轉(zhuǎn)載于:https://www.cnblogs.com/azhw/p/5658921.html
總結(jié)
以上是生活随笔為你收集整理的JavaWeb核心编程之Tomcat安装和配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Redis 和 Memcached 的区
- 下一篇: Java 笔试题集锦