問題還是自己給解決了:不得不高傲一把..畢竟才學不到幾天. 由於安裝了Apache軟件所以很多class都是被apache過濾,或者可能重新加載或者重載(這點是猜想,我想應該是這樣的).使得我們原來的tomcat的設置無法按照平常的方式處理.必須先了解 apache才行.而apache的程序中把默認的開啟檔案的文件都固定成三個"index.jsp","index.htm"或者"index.html".這就導致了開啟的時候,總是再這三個文件中尋找. 經過尋找我發現了apache的源文件中的一個.java檔案(WebXmlReader.java,我的機器是在目錄 C:\tomcat\src\org\apache\tomcat\context\裡面).打開該文件,發現有這樣的代碼 public class WebXmlReader extends BaseInterceptor { public static final String defaultWelcomeList[]={"index.jsp", "index.html", "index.htm"}; public static final int DEFAULT_SESSION_TIMEOUT=30; ... for( int i=0; i< defaultWelcomeList.length; i++ ) ctx.addWelcomeFile( defaultWelcomeList[i]); ... 不難發現..只有defaultWelcomList的內容才被接受.所以在defaultWelcomeList裡面假如你想要開啟的文件名稱就可以了.改了以後,重新編譯該文件. 接下來,就是要把.class整合到我們需要的文件當中,這些.class在lib/webserver.jar裡面 進行了包裝.在你得dos默認路徑下輸入 mkdir tt cd tt jar xcf c:\tomcat\lib\webserver.jar 這個時候,webserver.jar將解壓到tt目錄.找到和剛才的.class具有相同目錄類型的地方重新 覆蓋.然後用 jar cvf webserver.jar * 接著把tt目錄裡面的webserver.jar拷貝到lib\webserver.jar覆蓋(刪除剛才的tt目錄).重新啟動就可以了. 當然你也可以不刪除剛才的tt目錄,直接用沒有壓縮的.在這裡要多謝 run(一路狂奔) 的引導.
自然是我重啟動過.可還是不行
輸入http://127.0.0.1還是導不出Login.jsp或者Login.html
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
<welcome-file>Login.html</welcome-file>
<welcome-file>Login.htm</welcome-file>
</welcome-file-list>
出錯:
Directory Listing for:/
Subdirectories:
Error: 500
Location: /
Internal Servlet Error:
<web-app>
<!-- servlet定义 -->
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
<welcome-file>Login.html</welcome-file>
<welcome-file>Login.htm</welcome-file>
</welcome-file-list>
</web-app><welcome-file-list>一定是<web-app>的下级
如果你的还是不行,检查你是否装了Apache,还有server.xml下对默认的路径是否有其他设置
http://127.0.0.1/
http://localhost/
http://hostname/
http://192.168.0.x/(本机IP地址)另外,你使用80端口访问,有两种可能:
1、配置Tomcat使用80端口
2、使用IIS或者Apache看来你有可能使用的是第二种方式直接访问 http://127.0.0.1/login.jsp有问题吗?
1.這個程序是別人做的我也只是花了幾天才學java很多都不懂.看了一堆資料,做了很多修改,無法調適成功.他們原來的笨方法也是通過q3643的方法做的,頁面跳轉.實在不爽.
2.我用的是apache.
3.server.xml的一些代碼如下:
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
<Parameter name="handler"value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/>
<Parameter name="port" value="8007"/>
</Connector>
<Context
path="/Examsys"
docBase="webapps/Examsys"
crossContext="false"
debug="0"
reloadable="true" >
</Context>
程序自動導向ROOT.WAR,ROOT目錄和Examsys目錄同一級
4.web.xml的代碼和上面貼的一樣.
5.ROOT目錄里有index.html所以自動導向
index.html的代碼只是下面一句話
<meta http-equiv=refresh content=1;url='/Examsys/servlet/Login'>
1、用8080端口试试,这是Tomcat的缺省WWW端口。http://127.0.0.1:8080/。如果welcome file的修改能够体现出来,说明Tomcat没有问题
2、卸掉Apache
3、修改tomcat目录/conf/server.xml,将8080替换为80然后就可以用http://127.0.0.1/了
我把下面去了
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
照樣可跑..
不過好像work目錄的後綴就是:8080為甚麼不是:8007呢?
这样,欢迎页面的设置,事实上是由apache来完成的。而apache设置了欢迎页面是index.html,因此在tomcat里面做什么配置事实上都是没用的。
这种情况下,如果欢迎页面不是需要的login.jsp,能够想到的有两种解决方法:
1、在index.html里面设置redirect,也就是你们现在的做法。
2、直接修改apache配置页面,修改欢迎页面为login.jsp。(这种做法似乎不成功,apache+tomcat我没做过,我曾经尝试配过IBM HTTP Server+WebSphere,其中,IBM HTTP Server在apache基础之上有一点修改。但没有成功)因此,我认为你的这个问题,只有修改index.html才能解决了,直接跳转到你需要的页面即可。另,不用客气。我也是在这里学习。
由於安裝了Apache軟件所以很多class都是被apache過濾,或者可能重新加載或者重載(這點是猜想,我想應該是這樣的).使得我們原來的tomcat的設置無法按照平常的方式處理.必須先了解
apache才行.而apache的程序中把默認的開啟檔案的文件都固定成三個"index.jsp","index.htm"或者"index.html".這就導致了開啟的時候,總是再這三個文件中尋找.
經過尋找我發現了apache的源文件中的一個.java檔案(WebXmlReader.java,我的機器是在目錄
C:\tomcat\src\org\apache\tomcat\context\裡面).打開該文件,發現有這樣的代碼
public class WebXmlReader extends BaseInterceptor {
public static final String defaultWelcomeList[]={"index.jsp", "index.html", "index.htm"};
public static final int DEFAULT_SESSION_TIMEOUT=30; ...
for( int i=0; i< defaultWelcomeList.length; i++ )
ctx.addWelcomeFile( defaultWelcomeList[i]);
...
不難發現..只有defaultWelcomList的內容才被接受.所以在defaultWelcomeList裡面假如你想要開啟的文件名稱就可以了.改了以後,重新編譯該文件.
接下來,就是要把.class整合到我們需要的文件當中,這些.class在lib/webserver.jar裡面
進行了包裝.在你得dos默認路徑下輸入
mkdir tt
cd tt
jar xcf c:\tomcat\lib\webserver.jar
這個時候,webserver.jar將解壓到tt目錄.找到和剛才的.class具有相同目錄類型的地方重新
覆蓋.然後用
jar cvf webserver.jar *
接著把tt目錄裡面的webserver.jar拷貝到lib\webserver.jar覆蓋(刪除剛才的tt目錄).重新啟動就可以了.
當然你也可以不刪除剛才的tt目錄,直接用沒有壓縮的.在這裡要多謝 run(一路狂奔) 的引導.
1.所以在defaultWelcomeList裡面"加入"你想要開啟的文件名稱就可以了.改了以後,重新編譯該文件.
2.接著把tt目錄裡面的webserver.jar拷貝到lib\webserver.jar覆蓋(刪除剛才的tt目錄).重新啟動"tomcat"就可以了.
DirectoryIndex index.html 似乎是用来配置欢迎页面的。在apache的源代码里面,既然变量使用的是defaultWelcomeList,说明这是缺省。既然是缺省,就是课配置的。
我搜索了所有的有關羽index.都改過.只有defaultWelcomeList是有效的..
我要給分了
現在還有個問題.因為要再linux裡面.好像linux沒有jar應用..
肯定都应该有的