使用MyEclipse搭建java Web項目開發


轉自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217

 

首先,在開始搭建MyEclipse的開發環境之前,還有三步工具的安裝需要完成,只要在安裝配置成功之后才可以進入下面的java Web項目開發環境的搭建。

 

1、安裝工具

 

第一步,下載並安裝JDK,到官網上下載安裝即可,之后需要細心的配置環境變量,我給大家推薦百度文庫的一篇文章,猛戳這里。

第二步,下載Tomcat,當然可以去Apache Tomcat的官網,同樣,您可以移駕到我的資源下載,外送API文檔(免資源分)。

第三步,下載MyEclipse,MyEclipse官網,傻瓜式安裝即可。

 

=================================================================================

       這篇博文是為下篇博文(Servlet編寫登錄HTML頁面和loginServlet)做鋪墊的,配置中的名字起的不好,僅供參考。

=================================================================================

         

2、搭建Web項目開發環境

 

      然后,我們可以開始使用MyEclipse搭建java Web項目開發環境,只需要跟我一步步操作即可:

1、新建MyEclipse的工作空間

                       

2、選擇工作空間的路徑

                      

3、建立我們的Web項目

                      

4、輸入Web項目的名稱,我們使用的是J2EE1.4,Finish之后一定要選擇No,如果選擇Y的話,MyEclipse就能使用jdk1.5的環境了。

                      

                    

5、此時我們的Web項目基本上就算完成了,下面這幅圖,我們大家詳細的介紹一下它的目錄。

                   

 

3、配置服務器

 

       雖然我們的Web項目建完了,但是此時不論是Html,還是Servlet,JSP都不能運行的,我們需要將他們部署到服務器上。服務器也叫Web容器,它就是一種所謂的中間件,Web容器實現了java的借口:servlet。Web容器啟動之后一直運行,它時刻監聽所有提交到它所監控的端口(默認:8080)的請求,並對此作出反映。

        我們使用的Tomcat,當然你也可以使用其他的(配置方式基本相同)。不管是什么服務器,就跟我們發布.net的web項目時需要配置IIS,並發布項目的道理是一樣的。

      下面我們配置Tomcat:

1、在菜單欄中找到window->preferences。配置Tomcat,選擇Tomcat解壓之后的路徑即可。

                 

2、Apply之后,配置JDK,添加上它的安裝路徑即可。                 

                

                

3、此時我們的服務器就配置成功了,當我們需要運行項目是就可以部署我們的項目並啟動,我們就可以在瀏覽器中使用了。

              

              

 

 

servlet詳解:

Servlet是Sun公司提供的一門用於開發動態web網頁的技術。Sun公司在API中提供了一個servlet接口,我們如果想使用java程序開發一個動態的web網頁,只需要實現servelet接口,並把類部署到web服務器上就可以運行了。

到底什么是Servlet呢?

       通俗一點,只要是實現了servlet接口的java程序,均稱Servlet。Servlet是由sun公司命名的,Servlet = Server + Applet(Applet表示小應用程序),Servlet是在服務器端運行的小程序。

編寫一個現實登陸的Servlet,並部署訪問

1、我們先寫一個簡單的HTML,可以在WebRoot新建,也可以復制一個寫好的HTML,我們用post提交方式,當然也可以用get提交,大家可以自己嘗試一下。

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.     <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5.         <title>登錄</title>  
  6.     </head>  
  7.     <body>  
  8.           
  9.         <form action="http://localhost:8080/loginServlet/LoginServlet" method="post">  
  10.             用戶:<input type="text" name="username" /><br/>  
  11.             密碼:<input type="password" name="password" /><br/>  
  12.             <input type="submit" value="登錄" />  
  13.               
  14.         </form>  
  15.     </body>  
  16. </html>  


2、完成Servlet,在Web項目的src中右鍵新建一個類LoginServlet,輸入下面代碼即可。

 

 

[java]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. //引入所需要的包  
  2. import java.io.*;  
  3. import javax.servlet.*;  
  4. import javax.servlet.http.*;  
  5.   
  6. public class LoginServlet extends HttpServlet {  
  7.     //重寫doGet方法  
  8.     public void doGet(HttpServletRequest request,  
  9.             HttpServletResponse response)  
  10.      throws ServletException,  
  11.             IOException {  
  12.         String username = request.getParameter("username");     
  13.         String password = request.getParameter("password");        
  14.           
  15.         //服務器端打印信息  
  16.         //System.out.println("username=" + username);  
  17.         //System.out.println("password=" + password);  
  18.         //設置編碼格式  
  19.         response.setContentType("text/html;charset=GB18030");  
  20.           
  21.         //返回html頁面  
  22.         response.getWriter().println("<html>");  
  23.         response.getWriter().println("<head>");     
  24.         response.getWriter().println("<title>登錄信息</title>");      
  25.         response.getWriter().println("</head>");    
  26.         response.getWriter().println("<body>");     
  27.         response.getWriter().println("歡迎【" + username + "】用戶登錄成功!!!");    
  28.         response.getWriter().println("</body>");    
  29.         response.getWriter().println("</html>");  
  30.         }                     
  31.     //重寫doPost方法  
  32.     public void doPost(HttpServletRequest request,  
  33.             HttpServletResponse response)  
  34.     throws ServletException,  
  35.             IOException {  
  36.         doGet(request, response);                     
  37.     }       
  38. }  


 

3、在WebRoot下的WEB-INF的web.xml,部署我們的Servlet,啟動服務器。

 

 

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4"   
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  7.       
  8.     <servlet>  
  9.         <servlet-name>MyServlet</servlet-name>  
  10.         <servlet-class>LoginServlet</servlet-class>  
  11.     </servlet>  
  12.   
  13.     <servlet-mapping>  
  14.         <servlet-name>MyServlet</servlet-name>  
  15.             <url-pattern>/LoginServlet</url-pattern>  
  16.     </servlet-mapping>  
  17. </web-app>  


4、一定要啟動服務器,之后在瀏覽器中輸入你的URL,此時我們就可以調用Servlet了,我們看一下運行結果。

 

             

             

       實例的demo:http://download.csdn.net/detail/jiuqiyuliang/7593641

==============================================================================================================================

 如果不知道怎么配置java Web項目,可以移駕到我的上篇博客(一步步教你使用MyEclipse搭建java Web項目開發環境(一)),下面我們詳細介紹Servlet的基礎知識。

==============================================================================================================================

Servlet基礎

 

1、解讀API文檔,純手工編寫一個Servlet程序,並部署訪問(如上所示)。

         

      解讀API對於拒絕學習API的程序員們是一種煎熬,但它卻是我們學習和進步的最好工具,且學且珍惜。

                        

 

 

       大家可以在點進去看一看,從上圖,可以看出Servlet接口定義三個實現類,分別是FacesServlet, GenericServlet, HttpServlet。下面我們簡單的介紹一下。

 

2、Servlet接口實現類

     

     (1)FacesServlet是一個用於管理利用JSF(JavaServer Faces)構建用戶界面的web應用程序請求處理生命周期的Servlet。(FacesServletis a servlet that manages the request processing lifecycle for web applications that are utilizing JavaServer Faces to construct the user interface.),大家如果想深入的學習,可以點這里

     (2)GenericServlet是HttpServlet的父類,包含了servlet的常用方法。GenericServlet使得程序員寫servlets更加簡單,它提供了初始化和銷毀生命周期的方法,以及實現了寫日志文件的方法。

     (3)HttpServlet指能夠處理HTTP請求的servlet。這是開發人員在編寫Servlet時,通常應繼承這個類即可。

      

        對於這三個實現類,只為大家做一個簡單的介紹,如果想深入的研究,直接看API就好。

 

 

3、Servlet部署

       

       客戶端通過URL地址訪問web服務器中的資源,所以若想訪問Servlet必須要把servlet程序映射到一個URL地址上,在web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成,如上面的實例。

        *<servlet>用於注冊Servlet,包含了<servlet-name>和<servlet-class>兩個子元素,分別用於設置servlet的名稱以及servlet的類名。

        *<servlet-mapping>用於映射上面<servlet>中的對外訪問路徑,同樣包含<servlet-name>和<url-pattern>兩個元素,分別用於設置servlet的名稱以及servlet的對外訪問路徑。

        在servlet映射到URL有兩種格式:

        1.“*.擴展名”

        2.以正斜杠(/)開頭並以“/*”結尾。

        servlet對url的匹配規則以及路徑問題,大家可以上網查,有很多相關的資料,例如:http://blog.csdn.net/xh16319/article/details/8014107

             

4、Web服務器調用Servlet過程(Servlet生命周期)

     

      servlet程序是由web服務器調用,web服務器實現了對servlet生命周期的管理。servlet的生命周期分為四步:

          1)實例化以及加載servlet,new的過程。

          2)初始化init(ServletConfig)。

          3)處理請求,調用servlet的service,doget,dopost方法將Request和Response,作為參數傳遞。

          4)退出服務,調用destory方法釋放資源。

          

 

 注意:

         1、servlet只實例化一次。感覺有點單例模式的意思,大家可以研究一下Tomcat的實現原理。

         2、init方法也只執行一次。servlet實例只創建一次,所以init初始化只調用一次。

 

5、Servlet線程安全問題

 

       當多個客戶端並發訪問同一個Servlet時,web服務器會為每一個客戶端的訪問請求創建一個線程,並在這個線程上調用service方法,因此,service方法內如果訪問了同一個資源的話,就有可能引發線程安全問題。大家重點理解下面兩句即可:
(1) Servlet是單實例多線程的,如果存在可以修改的成員變量將會出現線程安全問題。
(2) 使用Servlet最好保證Servlet是無狀態的,也就是沒有可以修改的成員變量。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM