![server.ml的關(guān)鍵參數(shù)配置_第1頁](http://file4.renrendoc.com/view/acb5203f9e5896e69c5f898fdb0be817/acb5203f9e5896e69c5f898fdb0be8171.gif)
![server.ml的關(guān)鍵參數(shù)配置_第2頁](http://file4.renrendoc.com/view/acb5203f9e5896e69c5f898fdb0be817/acb5203f9e5896e69c5f898fdb0be8172.gif)
![server.ml的關(guān)鍵參數(shù)配置_第3頁](http://file4.renrendoc.com/view/acb5203f9e5896e69c5f898fdb0be817/acb5203f9e5896e69c5f898fdb0be8173.gif)
![server.ml的關(guān)鍵參數(shù)配置_第4頁](http://file4.renrendoc.com/view/acb5203f9e5896e69c5f898fdb0be817/acb5203f9e5896e69c5f898fdb0be8174.gif)
![server.ml的關(guān)鍵參數(shù)配置_第5頁](http://file4.renrendoc.com/view/acb5203f9e5896e69c5f898fdb0be817/acb5203f9e5896e69c5f898fdb0be8175.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Tomcat服務(wù)器server.xml的關(guān)鍵參數(shù)配置
講明:以下文字均以tomcat5.0.30為例進(jìn)行。
1,配置tomcat服務(wù)器訪問端口,只需配置Connector的port端口即可。Tomcat默認(rèn)為8080,現(xiàn)修改port參數(shù)值為80。
<!--Defineanon-SSLCoyoteHTTP/1.1Connectoronport8080-->
<Connectorport="80"
maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="100"
debug="0"connectionTimeout="20000"
disableUploadTimeout="true"URIEncoding="GBK"/>
2,配置tomcat支持URL中文參數(shù),只需添加Connector的URIEncoding參數(shù)即可,默認(rèn)情況下該參數(shù)未被配置。要支持URL參數(shù)支持中文,加上URIEncoding=”GBK”就行了(見1中附代碼最后一行)。
3,配置新的webApp:找到host尾標(biāo)記</Host>,插入新的context即可。
如:
(1)<Contextpath=""docBase="ROOT"debug="0"/>
若要支持?jǐn)?shù)據(jù)庫(以SQLServer為例),則為:
(2)<Contextpath="/xkb"docBase="F:\XKB6\webApp"debug="5"reloadable="true"crossContext="true">
<LoggerclassName="org.apache.catalina.logger.FileLogger"prefix="localhost_DBTest_log."suffix=".txt"timestamp="true"/>
<Resourcename="jdbc/SqlServerDB"auth="Container"type="javax.sql.DataSource"/>
<ResourceParamsname="jdbc/SqlServerDB">
<parameter>
<name>factory</name>
<value>mons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!--MaximumnumberofdBconnectionsinpool.Makesureyouconfigureyourmysqldmax_connectionslargeenoughtohandleallofyourdbconnections.Setto0fornolimit.-->
<parameter>
<name>maxActive</name>
<value>50</value>
</parameter>
<!--MaximumnumberofidledBconnectionstoretaininpool.Setto0fornolimit.-->
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<!--MaximumtimetowaitforadBconnectiontobecomeavailableinms,inthisexample0.5seconds.AnExceptionisthrownifthistimeoutisexceeded.Setto-1towaitindefinitely.-->
<parameter>
<name>maxWait</name>
<value>500</value>
</parameter>
<!--msSQLdBusernameandpasswordfordBconnections-->
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>wangnewton</value>
</parameter>
<!--ClassnameforSQLServer2000JDBCdriver-->
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<!--TheJDBCconnectionurlforconnectingtoyourMSSQLServerdB.TheautoReconnect=trueargumenttotheurlmakessurethatthemm.SqlServerJDBCDriverwillautomaticallyreconnectifmysqldclosedtheconnection.mysqldbydefaultclosesidleconnectionsafter8hours.-->
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=XKBCourse</value>
<!--mustuse¬use&-->
</parameter>
</ResourceParams>
</Context>
tomcat5.5.x配置記錄。
1.下載:
/dist/jakarta/tomcat-5/
/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x-admin.zip
/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x-compat.zip
/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x.zip
/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x-deployer.zip
把jakarta-tomcat-5.5.x.zip
和jakarta-tomcat-5.5.x-compat.zip
和jakarta-tomcat-5.5.x-admin.zip
(Tomcat默認(rèn)是沒有內(nèi)置admin模塊了
Tomcat'sadministrationwebapplicationisnolongerinstalledbydefault.Downloadandinstallthe"admin"packagetouseit.)
都解壓到同一個目錄下面。比如:D:\jakarta-tomcat-5.5.x\
(假如使用jdk1.4,才需要compat.zip用jdk1.5就能夠免了那個。)
2.修改jakarta-tomcat-5.5.x\conf\tomcat-users.xml.
添加治理員賬號lizongbo,密碼為lizongbopass.
新xml如下:
<?xmlversion='1.0'encoding='utf-8'?>
<tomcat-users>
<rolerolename="tomcat"/>
<rolerolename="role1"/>
<rolerolename="manager"/>
<rolerolename="admin"/>
<userusername="tomcat"password="tomcat"roles="tomcat"/>
<userusername="role1"password="tomcat"roles="role1"/>
<userusername="both"password="tomcat"roles="tomcat,role1"/>
<userusername="lizongbo"password="lizongbopass"roles="admin,manager"/>
</tomcat-users>
3.修改jakarta-tomcat-5.5.x\conf\server.xml來解決編碼問題。
(給Connector添加URIEncoding參數(shù),參考/darkxie/archive/2004/10/25/TOMCATAPP.aspx)
(能夠設(shè)置成GB18030)
<Connectorport="8080"
maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="200"
connectionTimeout="20000"disableUploadTimeout="true"URIEncoding="GBK"
compression="on"compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml"/>
<Connectorport="8009"
enableLookups="false"redirectPort="8443"protocol="AJP/1.3"URIEncoding="GBK"/>
4.啟用支持gzip壓縮.
(/forum/showdoc.jsp?l=1&i=81169)
添加下列屬性
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml"
5.設(shè)置虛擬主機。
在jakarta-tomcat-5.5.x\下建立文件夾vhost\。
然后修改jakarta-tomcat-5.5.x\conf\server.xml
<EnginedefaultHost="localhost"name="Catalina">
<HostappBase="vhost/"name="">
</Host>
<HostappBase="webapps"name="localhost">
</Host>
<RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"/>
</Engine>
6.添加數(shù)據(jù)庫驅(qū)動,更新mail.jar和actiovation.jar
復(fù)制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到j(luò)akarta-tomcat-5.5.x\common\lib\
還有javamail1.3.2的mail.jar,jaf-1_0_2的activation.jar
msSQl2000JDBCsp3,msbase.jar,msutil,jar,mssqlserver.jar
7.配置SSL
參考
/tomcat/tomcat-5.5-doc/ssl-howto.html
D:\j2sdk1.4.2_06\bin>%JAVA_HOME%\bin\keytool-genkey-aliastomcat-keyalgRSA
輸入keystore密碼:lizongbossl
您的名字與姓氏是什么?
[tomcat5.5.x]:tomcat5.5.x
您的組織單位名稱是什么?
[jakarta]:jakarta
您的組織名稱是什么?
[apache]:apache
您所在的都市或區(qū)域名稱是什么?
[hzcity]:hzcity
您所在的州或省份名稱是什么?
[gdp]:gdp
該單位的兩字母國家代碼是什么
[CN]:CN
CN=tomcat5.5.x,OU=jakarta,O=apache,L=hzcity,ST=gdp,C=CN正確嗎?
[否]:y
輸入<tomcat>的主密碼
(假如和keystore密碼相同,按回車):
(必須密碼一致,因此直接回車)
然后再把userhome(例如:C:\DocumentsandSettings\lizongbo\)下的.keystore復(fù)制到
tomcat的conf\目錄下。
(例如:D:\jakarta-tomcat-5.5.x\conf\.keystore)
配置jakarta-tomcat-5.5.x\conf\server.xml
加上
<Connectorport="8443"
maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"disableUploadTimeout="true"
acceptCount="100"scheme="https"secure="true"
clientAuth="false"sslProtocol="TLS"
keystoreFile="conf/.keystore"
keystorePass="lizongbossl"><!--與先前設(shè)置的密碼一致-->
</Connector>
8.禁止文件目錄列表,
修改jakarta-tomcat-5.5.x\conf\web.xml,把listing設(shè)置為false
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
9.指定了自己的javaEncoding
(參考
/staticcontent/html/sunone/app7/app7-dg-webapp/ch6/ch6-4.html
)
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>GB18030</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
10.添加rar,iso等的mime-type映射
幸免在掃瞄器里直接打開。
<mime-mapping>
<extension>mht</extension>
<mime-type>text/x-mht</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rar</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>iso</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ape</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rmvb</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ico</extension>
<mime-type>image/x-icon</mime-type>
</mime-mapping>
10.1對html靜態(tài)頁面設(shè)置編碼
<!--修改下面兩行以支持靜態(tài)超文本的自動編碼
-->
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html;charset=gb2312</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=gb2312</mime-type>
</mime-mapping>
</web-app>
11.添加welcome-file-list,并調(diào)整順序。
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
Tomcat中文編碼問題解決方案(簡)
liyonghai04/08/30
編碼問題的根源可參考/developerWorks/cn/java/java_chinese/index.shtml
Tomcat4.x解決方法:
獵取中文:request.setCharacterEncoding("gb2312");
輸出中文:<%@pagecontentType="text/html;charset=gb2312"%>,必要時需要轉(zhuǎn)碼
Tomcat5.x解決方法:
獵取中文:
提交表單時
1)post:request.setCharacterEncoding("gb2312");
2)get:修改server.xml,在Connector中加入URIEncoding="gb2312"
如:<Connectorport="80"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="100"
debug="0"connectionTimeout="20000"
disableUploadTimeout="true"URIEncoding="gb2312"/>
或者使用useBodyEncodingForURI,使tomcat5.x兼容tomcat4.x
輸出中文:<%@pagecontentType="text/html;charset=gb2312"%>,必要時需要轉(zhuǎn)碼
附:Tomcat5.x與Tomcat4.x在解析提交表單時發(fā)生了變化,Tomcat4.x不管是post依舊get,都使用
相同的編碼,而Tomcat5.x卻把get方法單獨了出來.具體可查看tomcat的sourcecode.
get方式的處理比較好,關(guān)于post方式建議用配置過濾器的方式來解決,因為如此,配置一個地點整個系統(tǒng)都不用操心了。
簡單講明:
web.xml
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
/************************/
SetCharacterEncodingFilter.java
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.UnavailableException;
/**
*Examplefilterthatsetsthecharacterencodingtobeusedinparsingthe
*incomingrequest
*/
publicclassSetCharacterEncodingFilterimplementsFilter{
/**
*Takethisfilteroutofservice.
*/
publicvoiddestroy(){
}
/**
*Selectandset(ifspecified)thecharacterencodingtobeusedto
*interpretrequestparametersforthisrequest.
*/
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
FilterChainchain)throwsIOException,ServletException{
request.setCharacterEncoding("GBK");
//傳遞操縱到下一個過濾器
chain.doFilter(request,response);
}
publicvoidinit(FilterConfigfilterConfig)throwsServletException{
}
}
////也能夠把編碼做為參數(shù)傳遞到里面去。
Tomcat5.5.x配置集錦是我整理的,然而卻被不人不注明出處的轉(zhuǎn)載,更是被csdn放到不人的原創(chuàng)里去了,真是郁悶。
詳情能夠看:
/lizongbo/archive/2005/02/13/286713.aspx
附加幾個我后來整理的知識點。
12.假如你的webapp需要只能夠進(jìn)行https方式訪問,那么在webapp的web.xml里加上:
<security-constraint>
<web-resource-collection>
<web-resource-name>musthttps</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
參考:/tomcat/faq/security.html#https
/?l=tomcat-user&m=104951559722619&w=2
13.修改遠(yuǎn)程關(guān)閉服務(wù)器的命令。
server.xml默認(rèn)有下面一行:
<Serverport="8005"shutdown="SHUTDOWN">
如此同意任何人只要telnet到服務(wù)器的8005端口,輸入"SHUTDOWN",然后回車,服務(wù)器立即就被關(guān)掉了。
從安全的角度上考慮,我們需要把那個shutdown指令改成一個不人不容易推測的字符串。
例如修改如下:
<Serverport="8006"shutdown="lizongbo">,如此就只有在telnet到8005,同時輸入"lizongbo"才能夠關(guān)閉Tomcat.
注意:那個修改不阻礙shutdown.bat的執(zhí)行。運行shutdown.bat一樣能夠關(guān)閉服務(wù)器。
參考:/tomcat/faq/security.html#8005
以下皆能夠參考:/document/user/tuman/valve.html
14.配置http訪問日志。Tomcat自帶的能夠記錄的http訪問日志差不多專門詳細(xì)了
取消下面這段的注釋:
<ValveclassName="org.apache.catalina.valves.AccessLogValve"
directory="logs"prefix="localhost_access_log."suffix=".txt"
pattern="common"resolveHosts="false"/>
然后修改為:
<ValveclassName="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs"prefix="localhost_access_log."suffix=".txt"
pattern="combined"resolveHosts="false"fileDateFormat="yyyy-MM-dd.HH"/>
pattern="combined"記錄的日志內(nèi)容更詳細(xì),fileDateFormat="yyyy-MM-dd.HH",會讓日志文件按小時進(jìn)行滾卷,
比默認(rèn)的按天滾卷要好些,尤其是訪問量大的網(wǎng)站,能夠考慮寫成fileDateFormat="yyyy-MM-dd.HH.mm",就會是每分鐘一個日志文件了。
而且能夠分不按Engine,Host,orContext,來記錄自己的日志
詳情參考:
/tomcat/tomcat-5.5-doc/config/valve.html
/tomcat/tomcat-5.0-doc/config/logger.html
/tomcat/tomcat-5.0-doc/config/host.html#Access%20Logs
而且還能夠配合awstats來進(jìn)行日志統(tǒng)計分析:
/tech/awstats.html
/lizongbo/archive/2005/02/18/291929.aspx
15.限制ip,限制主機訪問等。
假如想禁止指定的ip或者主機名來拒絕某些機器訪問,或者指定某些機器來訪問。
也支持分不按Engine,Host,orContext,進(jìn)行以下配置:
<Contextpath="/examples"...>...
<ValveclassName="org.apache.catalina.valves.RemoteHostValve"
allow="*.,"/>
<ValveclassName="org.apache.catalina.valves.RemoteAddrValve"
deny="192.168.1.*"/>
</Context>
參考:
/tomcat/tomcat-5.0-doc/config/context.html
16.公布webapp到網(wǎng)站根目錄
1。直接復(fù)制到ROOT目錄下。
2.因為無法創(chuàng)建無名字的xml文件,同時在xml文件里指定path也是無效的(tomcat靠文件名字來推斷的),
因此必須在server.xml里寫下面一段:
<ContextdocBase="${catalina.home}/vhost/"path="/"
privileged="true"antiResourceLocking="false"antiJARLocking="false">
<ManagerclassName="org.apache.catalina.session.StandardManager"algorithm="SHA-512"sessionIdLength="40">
<ValveclassName="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs"prefix="localhost_mytest_access_log."suffix=".txt"
pattern="combined"resolveHosts="true"fileDateFormat="yyyy-MM-dd.HH"/>
</Context>
而且必須把ROOT目錄刪除掉,否則Tomcat依舊優(yōu)先部署ROOT目錄為"/"。
17.在重新啟動Tomcat的webapp的時候,禁止把session寫入文件。
修改conf/web.xml
取消注釋:
<!>
<Managerpathname=""/>
18.增強SessiionID的生成算法和長度。
<ManagerclassName="org.apache.catalina.session.StandardManager"algorithm="SHA-512"sessionIdLength="40">
</Manager>
(Tomcat默認(rèn)算法是MD5,默認(rèn)長度是16位。)
tomcat+jsp經(jīng)典配置
Tomcat下JSP、Servlet和JavaBean環(huán)境的配置
經(jīng)常看到j(luò)sp的初學(xué)者問tomcat下如何配置jsp、servlet和bean的問題,因此總結(jié)了一下如何tomcat下配置jsp、servlet和ben,希望對那些初學(xué)者有所關(guān)心。
一、開發(fā)環(huán)境配置
第一步:下載j2sdk和tomcat:到sun官方站點(/j2se/1.4.2/download.html)下載j2sdk,注意下載版本為WindowsOfflineInstallation的SDK,同時最好下載J2SE1.4.2Documentation,然后到tomcat官方站點(/dist/jakarta/tomcat-4/)下載tomcat(下載最新4.1.x版本的tomcat);
第二步:安裝和配置你的j2sdk和tomcat:執(zhí)行j2sdk和tomcat的安裝程序,然后按默認(rèn)設(shè)置進(jìn)行安裝即可。
1.安裝j2sdk以后,需要配置一下環(huán)境變量,在我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量(假定你的j2sdk安裝在c:\j2sdk1.4.2):
JAVA_HOME=c:\j2sdk1.4.2
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因為它代表當(dāng)前路徑)
path=%JAVA_HOME%\bin
接著能夠?qū)懸粋€簡單的java程序來測試J2SDK是否已安裝成功:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println("Thisisatestprogram.");
}
}
將上面的這段程序保存為文件名為Test.java的文件。
然后打開命令提示符窗口,cd到你的Test.java所在目錄,然后鍵入下面的命令
javacTest.java
javaTest
現(xiàn)在假如看到打印出來Thisisatestprogram.的話講明安裝成功了,假如沒有打印出這句話,你需要認(rèn)真檢查一下你的配置情況。
2.安裝Tomcat后,在我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量(假定你的tomcat安裝在c:\tomcat):
CATALINA_HOME=c:\tomcat
CATALINA_BASE=c:\tomcat
然后修改環(huán)境變量中的classpath,把tomat安裝目錄下的common\lib下的(能夠依照實際追加)servlet.jar追加到classpath中去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
接著能夠啟動tomcat,在IE中訪問http://localhost:8080,假如看到tomcat的歡迎頁面的話講明安裝成功了。
第三步:建立自己的jspapp目錄
1.到Tomcat的安裝目錄的webapps目錄,能夠看到ROOT,examples,tomcat-docs之類Tomcat自帶的的目錄;
2.在webapps目錄下新建一個目錄,起名叫myapp;
3.myapp下新建一個目錄WEB-INF,注意,目錄名稱是區(qū)分大小寫的;
4.WEB-INF下新建一個文件web.xml,內(nèi)容如下:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEweb-app
PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"/dtd/web-app_2_3.dtd">
<web-app>
<display-name>MyWebApplication</display-name>
<description>
Aapplicationfortest.
</description>
</web-app>
5.在myapp下新建一個測試的jsp頁面,文件名為index.jsp,文件內(nèi)容如下:
<html><body><center>
Nowtimeis:<%=newjava.util.Date()%>
</center></body></html>
6.重啟Tomcat
7.打開掃瞄器,輸入http://localhost:8080/myapp/index.jsp看到當(dāng)前時刻的話講明就成功了。
第四步:建立自己的Servlet:
1.用你最熟悉的編輯器(建議使用有語法檢查的javaide)新建一個servlet程序,文件名為Test.java,文件內(nèi)容如下:
packagetest;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassTestextendsHttpServlet{
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
PrintWriterout=response.getWriter();
out.println("<html><body><h1>Thisisaservlettest.</h1></body></html>");
out.flush();
}
}
2.編譯
將Test.java放在c:\test下,使用如下命令編譯:
C:\Test>javacTest.java
然后在c:\Test下會產(chǎn)生一個編譯后的servlet文件:Test.class
3.將結(jié)構(gòu)test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也確實是剪切那個test目錄到classes目錄下,假如classes目錄不存在,就新建一個。現(xiàn)在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目錄結(jié)構(gòu)
4.修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
編輯后的web.xml如下所示,紅色為添加的內(nèi)容:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEweb-app
PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"/dtd/web-app_2_3.dtd">
<web-app>
<display-name>MyWebApplication</display-name>
<description>
Aapplicationfortest.
</description>
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>AtestServlet</description>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
這段話中的servlet這一段聲明了你要調(diào)用的Servlet,而servlet-mapping則是將聲明的servlet"映射"到地址/Test上
5.好了,重啟動Tomcat,啟動掃瞄器,輸入http://localhost:8080/myapp/Test假如看到輸出Thisisaservlettest.就講明編寫的servlet成功了。
注意:修改了web.xml以及新加了class,都要重啟Tomcat
第四步:建立自己的Bean:
1.用你最熟悉的編輯器(建議使用有語法檢查的javaide)新建一個java程序,文件名為TestBean.java,文件內(nèi)容如下:
packagetest;
publicclassTestBean{
privateStringname=null;
publicTestBean(StringstrName_p){
=strName_p;
}
publicvoidsetName(StringstrName_p){
=strName_p;
}
publicStringgetName(){
return;
}
}
2.編譯
將TestBean.java放在c:\test下,使用如下命令編譯:
C:\Test>javacTestBean.java
然后在c:\Test下會產(chǎn)生一個編譯后的bean文件:TestBean.class
3.將TestBean.class文件剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
4.新建一個TestBean.jsp文件,文件內(nèi)容為:
<%@pageimport="test.TestBean"%>
<html><body><center>
<%
TestBeantestBean=newTestBean("Thisisatestjavabean.");
%>
Javabeannameis:<%=testBean.getName()%>
</center></body></html>
5.好了,重啟Tomcat,啟動掃瞄器,輸入http://localhost:8080/myapp/TestBean.jsp假如看到輸出Javabeannameis:Thisisatestjavabean.就講明編寫的Bean成功了。
如此就完成了整個Tomcat下的jsp、servlet和javabean的配置。接下來需要做的情況確實是多看書、多讀不人的好代碼,自己多動手寫代碼以增強自己在這方面開發(fā)的能力了。
jvm應(yīng)填寫到
c:\j2sdk\bin
給你一個簡單的配置::::
JSP環(huán)境配置心得
首先要講的是,使用jdk+tomcat完全能夠配置我們的jsp服務(wù)器,不再需要事實上任何東東,有專門多文章介紹了Apache,事實上全然用不著,一般的學(xué)習(xí)調(diào)試tomcat完全能夠勝任了。
安裝jdk后,tomcat在安裝之前會自動找到j(luò)dk的安裝路徑,一路點擊"下一步",通過一段時刻的文件復(fù)制,最后"close",完成comcat的安裝。
您最好去下載一個版本較高的tomcat,比如4.1以上的,因為它不需要設(shè)置太多的系統(tǒng)變量,右擊"我的電腦",選擇"屬性"->"高級"->"環(huán)境變量"->"系統(tǒng)變量",新建一個TOMCAT_HOME,值設(shè)置成你的tomcat所在的路徑,比如:D:\ProgramFiles\ApacheGroup\Tomcat4.1,配置完成。
從開始菜單中找到tomcat選項,一般打開順序是:開始->程序->ApacheTomcat4.1,選擇"StartTomcat",讓jsp服務(wù)器開始運行,現(xiàn)在會打開一個類似Dos的窗口,會顯示一些相關(guān)的信息。
假如您使用代理上網(wǎng),一定要先撤掉代理,不然您的jsp程序永久也得不到執(zhí)行。假如不是代理的,這一步就躍過了。
打開掃瞄器,在地址欄中輸入:http://localhost:8080,假如看到有老虎(我也不明白是老虎依舊貓)的畫面,恭喜您,您成功了一半。
先來享受一下成功的喜悅吧,請輸入下面的代碼:
<html>
<head>
<title>FirstPage</title>
</head>
<body>
<H3>Todayis:h
<%=newjava.util.Date()%>
</H3>
</body>
</html>
將該程序保存為:First.jsp,放到Tomcat的ROOT目錄下,然后在掃瞄器的地址欄中輸入:http://localhost:8080/First.jsp,(First.jsp跟我們保存的文件名的大小寫要一致)回車,假如不出意外,應(yīng)該能夠看到形如Todayis:hFriApr1108:32:38CST2003的結(jié)果。
注意:ROOT是tomcat的默認(rèn)虛擬目錄,假如要改成自己的虛擬目錄如何辦呢?請接著往下看吧。
要改成自己的虛擬目錄,就要請出server.xml來了,該文件是一個配置文件,在Tomcat\conf目錄下,使用任何文本編輯軟件都能打開它,我們先找到下面一句:
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="100"debug="0"connectionTimeout="20000"
useURIValidationHack="false"disableUploadTimeout="true"/>
那個地點的port="8080"確實是端口,我們完全能夠用不的端口來代替,但不能是被系統(tǒng)占用的端口(0--1023),那個地點簡單提一下。
下面我們再往下找,會發(fā)覺以下的語句:
</Context>
</Host>
我們就應(yīng)該找到這兩個語句,假如不明白E文,您就認(rèn)定這兩個語句好了。然后我們將該語句更改如下:
</Context>
<Contextpath="/myjsp"debug="0"docBase="e:/myjsp"reloadable="true">
</Context>
</Host>
那個地點的path="/myjsp"確實是我們就配置的虛擬目錄了,以后在地址欄中輸入http://localhost:8080/myjsp即可。而docBase="e:/myjsp"則是機器本地路徑,他們通過那個語句形成一個映射關(guān)系,其它照抄。
將上面的First.jsp文件放到e:/myjsp目錄下,輸入http://localhost:8080/myjsp/First.jsp,是不是有一種喜上眉梢的感受?
在論壇里我見得最多的確實是專門多人不明白javaBean文件放到哪里,老實講開始我也不明白,更令人不解的是,十個人有九種不同的講法,這更讓我們茫然。事實上這問題也不是我們想像的那么復(fù)雜,我們以一個例子講明:
先建立一個java程序,代碼如下:
packagehall;
publicclassSimpleBean{
privateStringmessage="Nomessagespecified";
publicStringgetMessage(){
return(message);
}
publicvoidsetMessage(Stringmessage){
this.message=message;
}
}
保存為SimpleBean.java,編譯后會生成一個包,事實上就相當(dāng)于一個目錄,也確實是SimpleBean.class會存放在hall目錄中,暫且保存起來,今后備用。
再輸入以下代碼:
<HTML>
<HEAD>
<TITLE>ReusingJavaBeansinJSP</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLEBORDER=5>
<TR><THCLASS="TITLE">
ReusingJavaBeansinJSP</TABLE>
</CENTER>
<P>
<jsp:useBeanid="test"class="hall.SimpleBean"/>
<jsp:setPropertyname="test"property="message"value="HelloWWW"/>
<H1>Message:<I>
<jsp:getPropertyname="test"property="message"/>
</I></H1>
</BODY>
保存在我們剛才建立的虛擬目錄e:/myjsp下面,并命名為:BeanTest.jsp。
現(xiàn)在我們應(yīng)該將hall(包)目錄放在哪兒呢?不急,我們先在e:/myjsp下建立一個文件夾WEB-INF,然后再在WEB-INF下建立一個classes文件夾,最后將hall目錄放到classes下,因此,hall下的字節(jié)碼文件SimpleBean.class也一并要移過來,而SimpleBean.java就和BeanTest.jsp放到同一目錄吧(能夠不需要放的,自己試試)。
好了,大功告成了,重新啟動機器(假如您試了好多次都不行,這一步一定要做),在掃瞄器中輸入:http://localhost:8080/myjsp/BeanTest.jsp,您看到了什么?呵,不告訴我您什么都沒看到,那確信是您設(shè)置的問題了。
好了,文章寫完了,我也只是一只菜鳥,因此有寫的不預(yù)備的地點請多多指教。祝您jsp之旅一路順風(fēng)?。?!
Java學(xué)習(xí)-技術(shù)文章中心
初學(xué)者問的諸如:《如何樣配置環(huán)境變量》《如何樣運行Servlet》???如此的問題太多了,現(xiàn)在我寫一個初學(xué)者入門必讀,以便對初學(xué)者有指導(dǎo)作用!
首先是下載工具:
我建議初學(xué)者用Editplus+JDK,我覺得假如用例如JB,Eclipse,JCreator,盡管剛開始的時候比較方便,然而確使初學(xué)者門不明白如何樣配置環(huán)境變量,
從而難以達(dá)到知其然,知其因此然的地步
能夠通過如下地址下載:
Editplus(最新版本是v2.11):/softdown.php?id=3641&url=/down/epp211a_cn.exe(要照注冊碼就自己找吧,網(wǎng)上專門多的)
JDK(最新版本是Java2sdk1_4_2):/softdown.php?id=3116&url=/down/j2sdk-1_4_2-windows-i586.exe(這是ForWindows)
然后確實是安裝JDK,我是把它裝到從c:\JDK目錄下面:
然后確實是CLASSPATH的問題了:
正如操作系統(tǒng)利用PATH來搜索可執(zhí)行程序一樣,Java運行環(huán)境也會遍歷CLASSPATH來查找類,即便是HelloWorld如此簡單的程序,JVM也會遍歷
CLASSPATH定義的每一個路徑,直到找到相應(yīng)的文件為止。
相信大伙兒用的系統(tǒng)不是2k確實是XP,然后就應(yīng)當(dāng)如下設(shè)置Path:
我的電腦->屬性->高級->環(huán)境變量
然后在環(huán)境變量的Path后面追加:C:\JDK\bin;.;C:\JDK\lib
也能夠如此配置:C:\JDK\bin;.;C:\JDK\lib\dt.jar;C:\JDK\lib\tools.jar
★記住:環(huán)境變量中的.切記不能少,它表示當(dāng)前路徑,假如少掉出現(xiàn)的錯誤等會就講!
dt.jar是關(guān)于運行環(huán)境的類庫,tools.jar是關(guān)于一些工具的類庫
假如沒有配置:C:\JDK\bin,則會出現(xiàn)"javac′不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。"如此的錯誤。
然后下面就該寫程序了:
首先是(HelloWorld.java),打開Editplus,新建一個Java文件,請照著如下輸入,要一字不漏,同時分清大小寫:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hello,World!");
}
}
然后把那個文件保存(ctrl+s)到HelloWorld.java,記住大小寫一定要分清,是HelloWorld.java不是helloworld.java或者其它的
下面就該運行了,開始->運行->cmd
在操縱臺中把目錄切換到當(dāng)前目錄:
javacHelloWorld.java
javaHelloWorld
你就會在操縱臺上看見輸出的Hello,World!(沒出來?我把電腦吃了:))
javac是編譯命令,它把HelloWorld.java編譯成HelloWorld.class
java確實是解釋命令,JVM把HelloWorld.class解釋執(zhí)行.
在那個時候:
1。假如出現(xiàn)Exceptioninthread"main"java.lang.NoClassDefFoundError:HelloWorld
那確實是你在環(huán)境變量中沒有加上那個.(dot)
2。假如出現(xiàn)Exceptioninthread"main"java.lang.NoSuchMethodError:main
或者HelloWorld.java:1:Publicclasshelloworldmustbedefinedinafilecall
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漯河云計算大數(shù)據(jù)項目評估報告
- 甜品店品牌故事講述與傳播策略
- 鐵路線路工中級技能鑒定模擬考試題+答案
- 考試六類職業(yè)適應(yīng)性測試考試題(附答案)
- 電力負(fù)荷控制員模擬練習(xí)題與參考答案
- 電商平臺的線上線下融合策略探討
- 北京信息職業(yè)技術(shù)學(xué)院《小學(xué)體育活動設(shè)計與指導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建生物工程職業(yè)技術(shù)學(xué)院《服裝與服飾搭配》2023-2024學(xué)年第二學(xué)期期末試卷
- 渤海理工職業(yè)學(xué)院《羽毛球教學(xué)與實踐二》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘肅民族師范學(xué)院《食用菌生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中央空調(diào)基礎(chǔ)知識及發(fā)展史
- 《探尋中國環(huán)保旅行之道》– 中國旅游業(yè)可持續(xù)發(fā)展聯(lián)合研究報告 -mckinsey
- 電力工程竣工驗收報告
- 2023年04月中央軍委后勤保障部公開招考專業(yè)技能崗位文職人員筆試歷年高頻試題摘選含答案解析
- 公務(wù)員錄用體檢操作手冊
- 2022年建筑工程施工質(zhì)量通病防治手冊
- 人教版九年級英語閱讀理解訓(xùn)練題50篇附答案
- 圓管涵施工工藝
- 某省博物館十大展陳評選項目申報書
- 某煤礦主副井筒凍結(jié)工程監(jiān)理實施細(xì)則
- 浙江民國政治人物
評論
0/150
提交評論