使用MyEclipse搭建java Web項目開發

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

 

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

 

一、安裝工具

 

第一步,下載並安裝JDK,到官網上下載安裝便可,以後須要細心的配置環境變量,我給你們推薦百度文庫的一篇文章,猛戳這裏。程序員

第二步,下載Tomcat,固然能夠去Apache Tomcat的官網,一樣,您能夠移駕到個人資源下載,外送API文檔(免資源分)。web

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

 

=================================================================================小程序

       這篇博文是爲下篇博文(Servlet編寫登陸HTML頁面和loginServlet)作鋪墊的,配置中的名字起的很差,僅供參考。瀏覽器

=================================================================================tomcat

         

二、搭建Web項目開發環境

 

      而後,咱們能夠開始使用MyEclipse搭建java Web項目開發環境,只須要跟我一步步操做便可:安全

一、新建MyEclipse的工做空間服務器

                       

二、選擇工做空間的路徑

                      

三、創建咱們的Web項目

                      

四、輸入Web項目的名稱,咱們使用的是J2EE1.4,Finish以後必定要選擇No,若是選擇Y的話,MyEclipse就能使用jdk1.5的環境了。

                      

                    

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

                   

 

三、配置服務器

 

       雖然咱們的Web項目建完了,可是此時不管是Html,仍是Servlet,JSP都不能運行的,咱們須要將他們部署到服務器上。服務器也叫Web容器,它就是一種所謂的中間件,Web容器實現了java的藉口:servlet。Web容器啓動以後一直運行,它時刻監聽全部提交到它所監控的端口(默認:8080)的請求,並對此做出反映。

        咱們使用的Tomcat,固然你也可使用其餘的(配置方式基本相同)。不論是什麼服務器,就跟咱們發佈.net的web項目時須要配置IIS,併發布項目的道理是同樣的。

      下面咱們配置Tomcat:

一、在菜單欄中找到window->preferences。配置Tomcat,選擇Tomcat解壓以後的路徑便可。

                 

二、Apply以後,配置JDK,添加上它的安裝路徑便可。                 

                

                

三、此時咱們的服務器就配置成功了,當咱們須要運行項目是就能夠部署咱們的項目並啓動,咱們就能夠在瀏覽器中使用了。

              

              

 

 

servlet詳解:

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

到底什麼是Servlet呢?

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

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

一、咱們先寫一個簡單的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>  


二、完成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. }  


 

三、在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>  


四、必定要啓動服務器,以後在瀏覽器中輸入你的URL,此時咱們就能夠調用Servlet了,咱們看一下運行結果。

 

             

             

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

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

 若是不知道怎麼配置java Web項目,能夠移駕到個人上篇博客(一步步教你使用MyEclipse搭建java Web項目開發環境(一)),下面咱們詳細介紹Servlet的基礎知識。

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

Servlet基礎

 

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

         

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

                        

 

 

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

 

二、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就好。

 

 

三、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

             

四、Web服務器調用Servlet過程(Servlet生命週期)

     

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

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

          2)初始化init(ServletConfig)。

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

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

          

 

 注意:

         一、servlet只實例化一次。感受有點單例模式的意思,你們能夠研究一下Tomcat的實現原理。

         二、init方法也只執行一次。servlet實例只建立一次,因此init初始化只調用一次。

 

五、Servlet線程安全問題

 

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

相關文章
相關標籤/搜索