JavaWeb中常見配置檔案的配置方法!
閱讀本篇文章大約花費您5分鐘。
今天給大家總結一下javaWeb常見配置檔案的配置方法吧。
一.Tomcat的安裝
- 下載並解壓tomcat安裝包
- 配置java_home環境變數,值為jdk安裝路徑
- 配置catalina_home環境變數,值為tomcat安裝路徑
上面就是基本的配置方法,tomcat預設的埠號是8080,如果因為各種原因想要修改,只需要在tomcat安裝路徑下的conf/server.xml配置connector即可,具體的程式碼如下:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
另外在eclipseIDE中,也需要配置tomcat伺服器,在windows/preferences/server中選擇tomcat的版本就可以了。
二.Servlet和Filter的配置
Servlet的配置:
- 在web.xml中配置
<servlet> <servlet-name>firstServlet</servlet-name>//名字必須和mapping中的名字相同 <servlet-class>FirstServlet</servlet-class>//servlet類全類名 </servlet> <servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/hello</url-pattern>//執行url,'/'表示當前專案的根目錄 //執行後在瀏覽器中顯示的url就是這裡的url-pattern http://localhost:8080/WebTest/hello </servlet-mapping>
其中的servlt-name可以隨意取,但是建議取有意義的名字,這個名字的唯一作用是和下面的servlet-mapping關聯;
servlet-class為對應servlet的全類名,即帶包名的類名
url-pattern是最核心也是初學者不明白的配置,它的含義是配置一個可以用來訪問當前servlet的自定義路徑,比如如果配置為/hello,那麼在位址列就可以通過http://localhost:8080/WebTest/hello來訪問當前servlet,WebTest為當前專案名。
- Web3.0及以後可以使用註解方法來配置,要簡單很多
@WebServlet( urlPatterns={"/hello"} )
說它簡單是因為只需要配置url-pattern就可以了,因為註解的配置必須放在類之前。
Filter的配置:
過濾器的配置需要在web.xml中進行,過濾器的配置和servlet的配置幾乎一樣,這也是我把它們放在一起的原因:
<filter>
<filter-name>helloFilter</filter-name>
<filter-class>com.zh.filter.HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>helloFilter</filter-name>
<url-pattern>/A_Filter/test.jsp</url-pattern> //攔截的url,可以設定多個
</filter-mapping>
其中的url-pattern可以配置多個,一般可以將它設定為/*,表示對所有頁面都有效。
三.JDBC配置檔案
dbcp連線池配置:
我們可以將dbcp連線池配置為一個dbcp.properties的配置檔案:
username=root
password=****
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbtest?serverTimezone=UTC
//dbtest是需要連線的資料庫名稱
initialSize=10 //初始化連線數
maxTotal=50
maxIdle=10
minIdle=5
maxWaitMillis=5000
c3p0連線池配置:
c3p0連線池配置為一個c3p0-config.xml檔案,檔名必須是這個:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- This app is massive! -->
<named-config name="myc3p0"> <!-- 使用這個名字找到配置檔案 -->
<!-- 連線資料來源基本屬性 -->
<property name="user">root</property>
<property name="password">****</property>
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/dbtest?</property>
<!-- 連線數不足時 一次申請的連線數 -->
<property name="acquireIncrement">5</property>
<!-- 初始化的連線數 -->
<property name="initialPoolSize">5</property>
<!-- 最小連線數 -->
<property name="minPoolSize">5</property>
<!-- =最大連線數 -->
<property name="maxPoolSize">10</property>
<!-- C3P0可以維護的statement的數量 -->
<property name="maxStatements">20</property>
<!-- 每個連線可以使用的statement物件 -->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
四.自定義標籤配置檔案
自定義標籤配置檔案定義為一個.tld配置檔案,我叫myTag.tld:
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<!-- 描述tld檔案 -->
<description>myTag 1.0 core library</description>
<display-name>myTag core</display-name>
<tlib-version>1.0</tlib-version>
<!-- 建議使用的字首 -->
<short-name>zh</short-name>
<!-- 唯一標識當前tld檔案,不能重複,通過taglib指令的uri屬性引用 -->
<uri>http://www.zh.com/myTag/core</uri>
<!-- 描述自定義的HelloSimpleTag -->
<tag>
<name></name> <!-- 標籤名 -->
<tag-class></tag-class> <!-- 標籤全類名 -->
<body-content></body-content> <!-- 標籤體型別 -->
<!-- 描述屬性 -->
<attribute>
<!-- 屬性名 -->
<name>value</name>
<!-- 該屬性是否必須 -->
<required>true</required>
<!-- 是否可以接受執行時表示式的動態值 -->
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
其中taglib標籤的前四行是固定的,不能改變,可以參考JSTL標籤庫的c.tld檔案。
五.國際化配置檔案
國際化時,會使用一個ResourceBundle類,用來和.properties配置檔案資源包打交道;
設計國際化應用時,應該把程式需要顯示的文字打包放入資原始檔,針對不同的本地環境編寫不同的資原始檔;
以key-value的形式儲存,其中key是一樣的,value隨本地環境變化而變化
當要新增新的本地化支援時,只需要編寫一個新的資源文即可。
資源包的格式如下:
- 必須有一個baseName的資原始檔:i18n.properties
- 不同的國家/地區的資原始檔以baseName開頭:
i18n_en_US.properties //美國
i18n_zh_CN.properties //中國
- 不同的資源包的key必須一樣,value根據不同的格式更改
關於JavaWeb現在也才算是剛剛入門,還有很多要學習的地方。最近在看《深入分析Java Web技術內幕》-許令波著,這本書很厚,知識點也算是很全了。推薦給有心人去看吧。