整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          tomcat之web.xml配置文件

          tomcat之web.xml配置文件

          eb.xml配置文件

          web.xml是web應用的部署文件,包括tomcat中conf/web.xml中的默認配置以及web應用WEB-INF/web.xml下的定制配置

          主要分為以下幾類

          • ServletContext初始化參數(shù)
          • 會話配置
          • Servlet聲明配置
          • 應用生命周期監(jiān)聽器
          • Filter定義及映射
          • MIME類型映射
          • 歡迎文件列表
          • 錯誤頁面
          • 本地化及編碼映射
          • 安全配置
          • JNDI配置

          ServletContext初始化參數(shù)

          使用添加初始化參數(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

          • COOKIE:通過HTTP Cookie追蹤會話,當首次發(fā)起HTTP請求時,Servlet容器會發(fā)送一個用于會話的Cookie到客戶端,在后續(xù)請求中,客戶端會將該Cookie返回到服務端,服務端根據(jù)該Cookie確定請求會話。默認情況下,Cookie的名稱為JSESSIONID,可以通過的sessionCookieName屬性或者的name屬性修改
          • URL:當客戶端不支持Cookie時,可以采用URL重寫的方式。當采用URL追蹤模式時,請求路徑需要包含會話標識信息,Servlet容器會根據(jù)路徑中的會話標識設置請求的會話信息,參數(shù)名為jessionid
          • SSL:對于SSL請求,通過SSL會話標識確定請求會話標識

          Servlet聲明和映射

          <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)聽器

          監(jiān)聽器要實現(xiàn)javax.servlet.ServletContextListener接口,執(zhí)行順序與web.xml的配置順序一致,停止時與啟動順序相反

          <listener>
              <listener-class>com.zhanghe.listener.MyListener</listener-class>
          </listener>
          

          Filter定義和映射

          過濾器,用于過濾資源請求及響應

          <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類型映射

          設定某類型的擴展名文件使用何種應用程序打開

          <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)化來做整體介紹。


          1、目前tomcat配置

          可以看到目前tomcat是基本沒做優(yōu)化的,基本為默認參數(shù)。


          2、優(yōu)化后的配置

          2.1、注釋AJP協(xié)議

          這個影響倒不是很大。

          2.2、設置JVM

          這里要根據(jù)服務器內存,然后自己規(guī)劃下就行。

          2.3、核心參數(shù)

          這里的參數(shù)比較重要,影響會比較大。


          3、啟動日志

          可以看到通訊模式改為了NIO。


          參數(shù)說明

          1、內存--設置JVM參數(shù)

          JAVA_OPTS="-XX:PermSize=256M -XX:MaxPermSize=512m -Xms2048m -Xmx4096m -Duser.timezone=Asia/Shanghai"
          

          說明:

          • -Xms:設置JVM初始內存大小(默認是物理內存的1/64)
          • -Xmx:設置JVM可以使用的最大內存(默認是物理內存的1/4,建議:物理內存80%)
          • -XX:PermSize :為JVM啟動時Perm的內存大小
          • -XX:MaxPermSize :為最大可占用的Perm內存大小(默認為32M)

          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" />
          

          說明:

          • compression 打開壓縮功能
          • compressionMinSize 啟用壓縮的輸出內容大小,這里面默認為2KB
          • compressableMimeType 壓縮類型
          • connectionTimeout 定義建立客戶連接超時的時間. 如果為 -1, 表示不限制建立客戶連接的時間

          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"
          />
          

          說明:

          • acceptCount:允許的最大連接數(shù),應大于等于 maxProcessors ,默認值為 100
          • enableLookups:是否反查域名,取值為: true 或 false 。為了提高處理能力,應設置為 false
          • connectionTimeout:網(wǎng)絡連接超時,單位:毫秒。設置為 0 表示永不超時,這樣設置有隱患的。通常可設置為20000毫秒。
          • disableUploadTimeOut:允許Servlet容器,正在執(zhí)行使用一個較長的連接超時值,以使Servlet有較長的時間來完成它的執(zhí)行,默認值為false
          • maxPostSize:指定POST方式請求的最大量,沒有指定默認為2097152

          到這里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ū)別嗎?


          1. ZIP是免安裝的軟件包,MSI是微軟特有壓縮格式,是需要安裝的軟件包
          2. ZIP Archive: 壓縮版本,需要自己配置
          3. MSI Installer:安裝版本,安裝過程中自動配置

          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,具體代碼,如下


          1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
          2. pageEncoding="ISO-8859-1"%>
          3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          4. <html>
          5. <head>
          6. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          7. <title>Insert title here</title>
          8. </head>
          9. <body>
          10. <h1>hello world!</h1>
          11. <h2>This is my test page!</h2>
          12. <h3>Welcome to my page!</h3>
          13. </body>
          14. </html>

          創(chuàng)建成功后,點擊運行,然后在瀏覽器中輸入“http://localhost:8080/mServer/index.jsp”,便可以看到,

          經(jīng)過上面兩大步驟,我們的mServer接口項目已經(jīng)創(chuàng)建成功了,我們就可以開始進行接口開發(fā)了!


          上一篇:FileReader
          下一篇:27響應式網(wǎng)站欣賞
          主站蜘蛛池模板: 爆乳无码AV一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 欧美日韩精品一区二区在线视频 | 日韩免费视频一区二区| 精品国产一区二区三区久久影院 | 精品人妻一区二区三区浪潮在线| 亚洲AV无码一区二区三区系列| 一区二区高清视频在线观看| 国产福利一区二区在线视频| 亚洲福利秒拍一区二区| 成人免费一区二区三区| 成人精品一区二区户外勾搭野战 | 国产一区二区电影| 天堂va在线高清一区| 无码囯产精品一区二区免费| 国产精品丝袜一区二区三区| 国产伦精品一区二区三区精品| 精品视频在线观看你懂的一区| 日韩精品中文字幕无码一区 | 中文字幕国产一区| 成人免费一区二区无码视频 | 日韩av片无码一区二区不卡电影 | 东京热无码av一区二区| 内射白浆一区二区在线观看 | 国产精华液一区二区区别大吗| 相泽南亚洲一区二区在线播放| 乱色精品无码一区二区国产盗| 国产免费一区二区三区在线观看| 熟女少妇丰满一区二区| 国偷自产av一区二区三区| 三上悠亚日韩精品一区在线| 精品视频一区二区观看| 亚洲国产专区一区| 精品人妻少妇一区二区| 丝袜无码一区二区三区| 香蕉免费一区二区三区| 91精品一区二区三区久久久久| 精品福利视频一区二区三区| 亚洲av永久无码一区二区三区| 国产无吗一区二区三区在线欢| 精品视频在线观看你懂的一区|