TomCat服務器搭建以及JavaWeb入門小

概要

誒呀!搞了好幾天,今天總算可以用自己的電腦爲其他網絡用戶提供鏈接了,也就是其他用戶可以登錄到我的網頁了(其實初衷是爲了與android app互相傳遞信息),相信很多人剛學習javaweb的時候一定會像我一樣迷茫,對那些聽起來看起來很了不起的東西一頭霧水,現在就總結一下我的學習經驗,主要講什麼是TomCat和如何製作一個可以讓其他網絡用戶訪問的網頁以及對實現與android端通信的初步看法

TomCat之困

什麼是TomCat?

首先它是一款開源開源開源的軟件(重要的事情要說三遍=w=)他是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支持,最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規範。因爲Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成爲目前比較流行的Web 應用服務器
恩,然後我們抓重點:
 1、它是免費免費免費的!而且是開源開源開源的!!
 2、他是有sun公司參與開發的,而且支持java,我們知道java的特點是“一次編譯到處運行”這爲我們編程帶來了很大方便,比如我們要編寫一個軟件,完全可以用java編寫主要部分——網頁,然後Windows和mac可以直接訪問,如果把網頁嵌入到android程序或ios程序中也可直接訪問,這就爲跨平臺運營提供了很大的方便
 3、它是一個服務器,也就是說啓動了Tomcat之後,你不僅可以在本機的虛擬網絡中找到他,更可以在其他的電腦上登錄本機的ip來進行數據交換

TomCat的安裝與配置

首先去 http://tomcat.apache.org/  下載tomcat,然後雙擊安裝,各種同意和下一步。安裝目錄可以自定義,這些都隨便,重要的是讓你填寫端口號和賬號的頁面,這個端口號建議你改一下,8080太常見了,有些軟件也會用這樣會出現端口占用情況很頭疼的,我後來改成了8888,user name和password隨意填,記住就好,然後會出現一個配置界面,配置jre的,如果電腦裏有他會尋找這個文件,如果找不到你就幫他找(把目錄粘貼上去)然後install,安裝完畢之後啓動,裏面有餘個start,點擊就可以開啓tomcat了,打開瀏覽器在地址欄輸入http://127.0.0.1:(你的端口號,如:8888)/如果彈出來tomcat界面就說明安裝成功了


配置虛擬目錄:

1、在任意盤中新建一個文件夾site,複製\Tomcat\webapps\ROOT下的WEB-INF文件夾到新的site文件夾下

2:、打開site\WEB-INF目錄下的文件web.xml,在</description>之後加入如下代碼:

<!--JSPC servlet mappings start-->

<!--JSPC servlet mappings end-->

3、打開文件Tomcat6.0\conf\server.xml , 在<Host>和</Host>之間加入下面的代碼

<Context path = "/site" docBase = "(site文件夾所在目錄如d:)\site"></Context>

4、打開文件Tomcat\conf\web.xml,找到如下代碼

<init-param>

<param-name>listings</param-name>

<param-value>false</param-value>

</init-param>

把false改爲true即可

5、新建一個文本文檔,輸入虛擬目錄配置成功!,然後改名爲index.html,打開瀏覽器輸入地址http://127.0.0.1:(你的端口號,如:8888)/site/  然後就可以看見你的第一個網頁啦,當然,此時用其他的電腦訪問你本機ip也可以了,網址是http://你本機ip+:端口號+/site/ ,到現在,我們已經可以將自己寫的html文件發佈到互聯網上了

注意:

這裏要注意一點,就是假如你用的是學校的內網,那麼其他用戶訪問你的就是內網ip,也就是說,只有跟你在同一局域網的人才能訪問你的服務器,如果想對全世界開放,換成外網吧!

Java Web和Tomcat

我們的目的是利用java來達成與android程序互相通信的效果,這裏要介紹一個類servlet類,它是Tomcat封裝的類,如果你用的是eclipse那麼需要導入這個jar文件,導包過程不再詳細介紹,文件在tomcat/lib/servlet-api.jar下,導包完成後打入如下代碼(如果時間允許的話建議自己慢慢打,這樣可以體會他的生命週期,相關內容下一章介紹)
package app01a;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;

@WebServlet(name = "MyServert", urlPatterns ={ "/my"} ) 

public class MyServert  implements Servlet{

   private transient ServletConfig servletConfig;

@Override
public void destroy() {
	// TODO Auto-generated method stub
	
}
@Override
public ServletConfig getServletConfig() {
	// TODO Auto-generated method stub
	return servletConfig;
}
@Override
public String getServletInfo() {
	// TODO Auto-generated method stub
	return "MyServlet";
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
		throws ServletException, IOException {
	// TODO Auto-generated method stub
	String ServletName = servletConfig.getServletName();
    arg1.setContentType("text/html");
    PrintWriter writer = arg1.getWriter();
    writer.print("<html><head></head>" + "<body>Hello from"+ServletName + "</body></html>");
	
}
@Override
public void init(ServletConfig arg0) throws ServletException {
	// TODO Auto-generated method stub
	this.servletConfig = arg0;
	
}



}

編寫完成之後我們是無法直接在編譯器中編譯的,這個時候保存,然後打開命令行。cd到當前目錄,javac *.java然後就可以編譯出class文件(一定記得保存,我就是忘保存了研究了好幾天==!)上面的過程都結束之後就要開始部署到服務器了
在tomcat下有一個webapp文件夾,打開之後使用這樣的文件結構
沒有的文件夾自己創建,然後就可以輸入網址
http://你的ip:你的端口/app01a/my 就可以打開了

預測

由於還沒有確定該怎麼與android端傳數據,但可以確定的是有一種方法可以行得通,就是既然可以訪問發佈的java網頁,那麼就可以以xml的形式存儲數據並進行數據交互,另外,我們的程序還應該可以和數據庫進行通訊,更多內容盡請期待~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章