web.xml是web應用的部署文件,包括tomcat中conf/web.xml中的默認配置以及web應用WEB-INF/web.xml下的定制配置
主要分為以下幾類
使用添加初始化參數(shù),可以使用javax.servlet.ServletContext.getInitParameter()方法獲取參數(shù)值
<context-param>
<param-name>name</param-name>
<param-value>value</param-value>
</context-param>
用于配置web應用會話,包括超時時間、cookie配置以及會話追蹤模式。
<session-config>
<session-timeout>30</session-timeout>
<cookie-config>
<name>jessionid</name>
<domain>myApp.com</domain>
<path>/</path>
<!-- 安全性配置,只有mode為cookie時才會生效 -->
<http-only>true</http-only>
<!-- 安全性配置,只有mode為cookie時才會生效 -->
<secure>true</secure>
<max-age>3600</max-age>
</cookie-config>
<!-- 會話追蹤模式 -->
<tracking-mode>COOKIE</tracking-mode>
</session-config>
Servlet支持三種會話追蹤模式:COOKIE、URL、SSL
<servlet>
<servlet-name>ad</servlet-name>
<servlet-class>com.zhanghe.servlet.MyMainServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>value</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<!-- 上傳文件配置 -->
<multipart-config>
<max-file-size>1024</max-file-size>
<max-request-size>2048</max-request-size>
<!-- 文件超過該大小后將寫入磁盤 -->
<file-size-threshold>0</file-size-threshold>
<!-- 標識該Servlet是否啟用 -->
<enabled>true</enabled>
<!-- 安全角色的引用 -->
<security-role-ref>
<!-- 代碼中使用的角色名稱 -->
<role-name>admin</role-name>
<!-- 對應tomcat-user.xml中服務器配置角色名稱 -->
<role-link>manager</role-link>
</security-role-ref>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>ad</servlet-name>
<url-pattern>*.*</url-pattern>
<url-pattern>/myapp/*</url-pattern>
</servlet-mapping>
監(jiān)聽器要實現(xiàn)javax.servlet.ServletContextListener接口,執(zhí)行順序與web.xml的配置順序一致,停止時與啟動順序相反
<listener>
<listener-class>com.zhanghe.listener.MyListener</listener-class>
</listener>
過濾器,用于過濾資源請求及響應
<filter>
<filter-name>myFilter</filter-name>
<filter-class>com.zhanghe.filter.MyFilter</filter-class>
<init-param>
<param-name>name</param-name>
<param-value>value</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<!-- 也可以設置servlet-name -->
<url-pattern>/myApp/*</url-pattern>
</filter-mapping>
設定某類型的擴展名文件使用何種應用程序打開
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<localtion>/404.html</localtion>
</error-page>
<error-page>
<error-type>java.lang.Exception</error-type>
<localtion>/error.html</localtion>
</error-page>
<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>zh</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list>
為web應用增加頁面的訪問權限
最近準備對xx系統(tǒng)做一些優(yōu)化工作,這里先從tomcat參數(shù)方面入手,后面再針對mysql和具體sql去做一下優(yōu)化。下面基于之前介紹的tomcat參數(shù)優(yōu)化來做整體介紹。
可以看到目前tomcat是基本沒做優(yōu)化的,基本為默認參數(shù)。
2.1、注釋AJP協(xié)議
這個影響倒不是很大。
2.2、設置JVM
這里要根據(jù)服務器內存,然后自己規(guī)劃下就行。
2.3、核心參數(shù)
這里的參數(shù)比較重要,影響會比較大。
可以看到通訊模式改為了NIO。
1、內存--設置JVM參數(shù)
JAVA_OPTS="-XX:PermSize=256M -XX:MaxPermSize=512m -Xms2048m -Xmx4096m -Duser.timezone=Asia/Shanghai"
說明:
2、禁用AJP協(xié)議
注釋 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
ajp協(xié)議是tomcat為了動靜資源處理分離時,通過該協(xié)議可以將css、js等靜態(tài)資源請求轉發(fā)到Apache的http服務器處理,提高并發(fā)量。但是在優(yōu)化tomcat時,沒有用到Apache服務器,則需要將其禁用。
3、將BIO通訊模式修改為NIO通訊模式
<Connector connectionTimeout="20000" port="8066" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8448"/>
其中,原來的protocol="HTTP/1.1"表示遵循h(huán)ttp1.1協(xié)議,同時,也是一個最原始的未經(jīng)優(yōu)化的通信協(xié)議,修改之后的 protocol="org.apache.coyote.http11.Http11NioProtocol" ,表示以 NIO模式啟動。
4、并發(fā)--啟用外部連接池
maxThreads:tomcat起動的最大線程數(shù),即同時處理的任務個數(shù),默認值為150
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="400" minSpareThreads="4"/> <Connector connectionTimeout="20000" port="8066" executor="tomcatThreadPool" protocol="org.apache.coyote.http11.Http11NioProtocol"/>
5、配置緩存
<Connector port="xxx" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" disableUploadTimeout="true" />
說明:
6、優(yōu)化連接器--最終模板
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="400" minSpareThreads="4"/> <Connector port="8080" executor="tomcatThreadPool" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" enableLookups="false" maxPostSize="10485760" URIEncoding="UTF-8" useBodyEncodingForURI="true" maxConnections="1000" acceptCount="1000" minProcessors="100" maxProcessors="1000" disableUploadTimeout="true" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" SSLEnabled="false" />
說明:
到這里tomcat的一些參數(shù)就設置好了,后面在分享一下mysql的優(yōu)化參數(shù)模板。感興趣的朋友可以關注一下~
直都在做App開發(fā),但是對java web方面的了解比較少,最近有時間,所以自己就尋思動手從零開始搭建一個java web項目。該項目主要是給app,提供接口服務,簡稱項目為‘mserver’。好了,接下來,我們就開始簡單的搭建項目。
一.開發(fā)所需工具。(根據(jù)你的電腦以及系統(tǒng)選擇合適的版本下載)
1.JDK 。下載鏈接。
JDK(Java Development Kit) 是 Java 語言的軟件開發(fā)工具包(SDK)。JDK是 Java 語言的軟件開發(fā)工具包,主要用于移動設備、嵌入式設備上的java應用程序。JDK是整個java開發(fā)的核心,它包含了JAVA的運行環(huán)境,JAVA工具和JAVA基礎的類庫。
2.eclipse開發(fā)工具。下載鏈接。
PS:我們在下載軟件的過程中,可能會有多個不同的下載文件,例如,zip、msi等,那么這兩個有什么區(qū)別嗎?
3.Tomcat服務器。下載鏈接。
4.Mysq數(shù)據(jù)庫。下載鏈接 。
如果你不習慣使用命令去操作數(shù)據(jù)庫,那么推薦你使用SQLyog工具,下載鏈接。
PS:下載安裝好JDK 后,需要配置環(huán)境變量。(以Win7電腦為例,配置環(huán)境變量)
(1).依次點擊,計算機→屬性→高級系統(tǒng)設置→高級→環(huán)境變量;
(2).打開系統(tǒng)變量,新建JAVA_HOME 變量,變量值填寫jdk的安裝目錄(本人是 D:\Java\jdk1.7.0);
(3).在系統(tǒng)變量中找到Path變量,點擊編輯,
在變量值最后輸入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(注意原來Path的變量值末尾如果沒有‘;’,先輸入';'后再輸入上面的代碼);
(4).在系統(tǒng)變量中新建 CLASSPATH 變量
變量值填寫 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點);
經(jīng)過以上幾步,環(huán)境變量就配置完成了。但是,我們還得驗證一下是否配置成功,運行cmd 輸入 java -version,如出現(xiàn)以下截圖顯示的顯示,說明配置成功。
二. 創(chuàng)建項目。
1.打開eclipse,先配置一下Tomcat服務器。
(1).打開windows-> preferences,找到Server下方的Runtime Environment,單擊右方的Add按鈕:
(2). 選擇已經(jīng)安裝的Tomcat版本,點擊Next,
(3).找到下載安裝后的Tomcat,點擊Finish。
經(jīng)過以上幾步,就可以看到,紅色框中出現(xiàn)剛才你添加的Tomcat服務器。
2.創(chuàng)建項目。
(1). 打開eclipse,在Workspace空白的地方,右鍵,New,選擇‘Dynamic Web project’,點擊Next,
(2).輸入項目名稱,選擇服務器,其他的默認就可以,點擊Finish就可以了!
稍等一會,你的Eclipse中會出現(xiàn)兩個項目,如下圖所示,表示創(chuàng)建項目成功了。
此時,你可以'run'項目,運行后,可能會報404,這是因為你的web項目底下沒有可訪問的資源。那么就在項目的‘WebContent’目錄底下,創(chuàng)建一個比較簡單的jsp文件index.jsp,具體代碼,如下
創(chuàng)建成功后,點擊運行,然后在瀏覽器中輸入“http://localhost:8080/mServer/index.jsp”,便可以看到,
經(jīng)過上面兩大步驟,我們的mServer接口項目已經(jīng)創(chuàng)建成功了,我們就可以開始進行接口開發(fā)了!
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。