1. 程式人生 > >JavaWeb中常見配置檔案的配置方法!

JavaWeb中常見配置檔案的配置方法!

閱讀本篇文章大約花費您5分鐘。


  今天給大家總結一下javaWeb常見配置檔案的配置方法吧。

一.Tomcat的安裝

  1. 下載並解壓tomcat安裝包
  2. 配置java_home環境變數,值為jdk安裝路徑
  3. 配置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技術內幕》-許令波著,這本書很厚,知識點也算是很全了。推薦給有心人去看吧。