Tomcat手工搭建Jsp和Servlet程序
要執行J2EE的程序,就必須安裝相關的容器。而怎樣選擇JSP+Servlet模式。Tomcat是非常重要的選擇之中的一個,是世界上最為廣泛的Servlet和JSP容器。
下載:
1. URL: http://tomcat.apache.org/ Tomcat 7.0.52
2. 單擊左面”Tomcat 7.0”,進入Tomcat 7.0.52頁面
3. 單擊Binary Distributions以下的,操作系統匹配的ZIP文件。
配置:
1. 將下載後的文件解壓縮到D:\apache-tomcat-7.0.52文件夾。
2. 在系統環境變量中新添加一個環境變量TOMCAT_HOME
TOMCAT_HOME=D:\apache-tomcat-7.0.52
驗證:
驗證Tomcat安裝是否成功。過程例如以下:
1. 雙擊Tomcat安裝文件夾下的bin中的startup.bat,啟動 Tomcat.
2. 在IE中輸入http://localhost:8080,測試Tomcat啟動成功,歡迎界面:
TroubleShooting:
確定服務啟動之後,此頁面打不開,非常可能是安裝Oracle服務,占用了8080port
Tomcat的全部配置文件都在conf目錄中。server.xml是核心配置文件。
打開conf目錄中的server.xml
<Connector port="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
將8080更改為相應port就可以。此處改為80port。
<Connector port="80"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
此後啟動時僅僅需輸入80port就可以。
又一次啟動。查看效果。
80port是瀏覽器默認的port。能夠不輸入80。其它port則須要輸入。假設是server,輸入serverIP.
3. 點擊Examples,能夠看到JspExamples, Servlets Examples. 進去能夠看到Source及Excute效果. 此外還有JDBCDataSource,能夠看到怎樣連接不同數據庫。
創建和公布JSP應用程序:
1. 在D:\apache-tomcat-7.0.52\webapps文件夾下新建文件夾myHelloWorld。
2. 在此目錄中新建jsp目錄,並編寫HelloWorld.jsp放在此文件裏
<%@ pagecontentType="text/html; charset=UTF-8"language="java"import="java.sql.*" errorPage="" %>
<html>
<head>
<title>[email protected]:\apache-tomcat-7.0.52\webapps\</title>
</head>
<body>
<font size=20>
<%
out.print("HelloWorld.jsp\"@D:\\apache-tomcat-7.0.52\\webapps\"");%>
</font>
</body>
</html>
3. 輸入http://127.0.0.1/myHelloWorld/jsp/HelloWorld.jsp
註意:
假設演示樣例不放在Tomcat的webapps文件夾下,則要修改Tomcat的conf文件下的server.xml文件。並重新啟動Tomcat服務讓其生效,假設放在此文件夾下。則不用做修改。
創建和公布Servlet應用程序:
實現思路:首先編寫一個繼承HttpServlet類,編譯該類。然後配置web.xml;最後啟動Tomcat.
1. 在myHelloWorld目錄中新建目錄com。在com下新建目錄myHelloWorld。然後再該目錄下編寫輸出 HelloWorld的Servlet文件HelloWorld.java。代碼例如以下:
packagecom.myHelloWorld;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclass HelloWorld extends HttpServlet {
public void doGet(HttpServletRequestrequest,HttpServletResponse response)throws IOException,ServletException {
PrintWriter out = response.getWriter();
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta http-equiv=\"Content-Type\"content=\"text/html; charset=UTF-8\">\r\n");
out.write("</head>\r\n");
out.write("\r\n");
out.write("<body>\r\n");
out.write("<font size=20>\r\n");
out.print("Servlet to HelloWorld");
out.write("\r\n");
out.write("</font>\r\n");
out.write("</body>\r\n");
out.write("</html>");
}
}
2. 編譯該java文件。並將編譯後的HelloWorld.class放到myHelloWorld\WEB-INF\classes\com\myHelloWorld目錄中
註意:
假設在命令行中編譯,則須要將servlet-api.jar加到classpath中
3. 在myHelloWorld\WEB-INF目錄下建web.xml,輸入例如以下代碼
<?
xmlversion="1.0" encoding="UTF-8"?
>
<web-appversion="2.4"
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-app_2_4.xsd">
<servlet>
<!—設定Servlet-->
<servlet-name>Servlet</servlet-name>
<servlet-class>com.myHelloWorld.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<!—設定Servlet的相應關系-->
<servlet-name>Servlet</servlet-name>
<url-pattern>/do</url-pattern>
</servlet-mapping>
</web-app>
代碼說明:凡是後綴為/do的請求都將通過com.myHelloWorld.HelloWorld來進行處理。
4. 啟動Tomcat,並在IE中輸入例如以下連接:http://127.0.0.1/myHelloWorld/do
註意:
怎樣顯示有代碼。則非常可能是web.xml裏面的代碼造成的。所以在編碼的時候一定要註意亂碼的問題。
Web應用程序的文件夾結構例如以下圖:
Tomcat手工搭建Jsp和Servlet程序