實驗2-Web開發(fā)
實驗2.在Eclipse中開發(fā)Web應用
實驗內(nèi)容
在這個實驗中,將學習在Eclipse+MyEclipse集成開發(fā)環(huán)境下創(chuàng)建Web應用,創(chuàng)建Servlet、JSP,并測試。
實驗目的
掌握Eclipse中Web應用的開發(fā)以及在Tomcat中的部署和訪問。掌握JSP和Servlet的開發(fā)。
實驗介紹
本實驗將實現(xiàn)一個簡單的Web應用。在這個實驗中,將首先建立一個Web應用,名字是myweb;然后進行Web應用的部署;接著進行Servlet的編寫;最后是JSP的編寫。
環(huán)境要求
服務(wù)器:Tomcat5.5
集成開發(fā)環(huán)境:Eclipse+MyEclipse
實驗指導
步驟1:創(chuàng)建Web應用myweb參照教材3.1(Page35)。注意:
a)觀察【packageExplorer】視圖中出現(xiàn)如下內(nèi)容,表示W(wǎng)eb應用創(chuàng)建成功。
b)注意Web應用的文檔結(jié)構(gòu)(WebRoot下的內(nèi)容),其中classes文件夾需要將
視圖轉(zhuǎn)換為Resource視圖才能看到。
c)注意web.xml配置文件中的內(nèi)容。
index.jsp
步驟2:Web應用部署或配置
參照教材3.1.3(Page37)。1.部署Web應用2.配置Web應用
步驟3:編寫簡單的Servlet
參照教材3.2(Page41)。步驟4:Servlet基礎(chǔ)練習
參照教材(Page35)編程練習2參考代碼:
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponse
response.setContentType("text/html");response.setCharacterEncoding("utf-8");PrintWriterout=response.getWriter();
out.println("");out.print("系統(tǒng)時間
"+java.util.Calendar.getInstance().getTime());
}out.println("");out.println("");out.flush();out.close();
步驟5:編寫簡單的JSP頁面
參照教材3.3(Page49)。步驟6:JSP基礎(chǔ)練習
參照教材(Page35)編程練習1參考代碼:(1)
${學號姓名}
(2)
(3)
[${no.index}]
步驟7:JSP與Servlet的相互訪問
參照教材(Page33)實踐環(huán)節(jié)設(shè)計提示信息:
(1)action="${pageContext.request.contextPath}/Deal"(2)request.getParameter("username");
(3)request.setAttribute("username",username);實驗總結(jié)
這個實驗中,在Eclipse+MyEclipse6集成開發(fā)環(huán)境中創(chuàng)建了一個Web應用myweb,包括簡單的JSP頁面和Servlet。
實驗報告要求
1.說明Web應用的文檔結(jié)構(gòu)。2.若采用寫配置文件(XML文件)的方式發(fā)布myweb這個應用,寫出該配置文件的源代碼。該配置文件應該放在什么位置?3.創(chuàng)建了一個mytest.jsp文件,并將其放置在myweb應用根目錄下的子目錄home中,寫出訪問該JSP文件的地址。4.對于MyServlet.java文件,應該將其放置在myweb應用的哪個目錄下?并說明如何訪問該Servlet。寫出該Servlet在web.xml中的配置標簽內(nèi)容并解釋每個標簽的含義。5.如何在JSP頁面中輸出信息?寫出你知道的所有方法。6.在Servlet中的如何獲取表單輸入信息?轉(zhuǎn)發(fā)請求使用哪個對象的哪個方法?注:電子實驗報告命名:學號姓名.doc。
擴展閱讀:實驗2-Web開發(fā)
實驗2.在Eclipse中開發(fā)Web應用
實驗內(nèi)容
在這個實驗中,將學習在Eclipse+MyEclipse8.6集成開發(fā)環(huán)境下創(chuàng)建Web應用,創(chuàng)建JSP、JavaBean、Servlet,并測試。
實驗目的
掌握Eclipse中Web應用的開發(fā)以及在Tomcat中的部署和訪問。掌握JSP、JavaBean和Servlet的開發(fā)。
實驗介紹
本實驗將實現(xiàn)一個簡單的登錄功能,用戶在登錄界面輸入用戶名和口令。用戶名和口令需要進行客戶端驗證。如果輸入的用戶名和口令合法,會出現(xiàn)成功頁面。如果用戶名或口令不合法,則出現(xiàn)登錄失敗頁面。
由于登錄功能是通過MVC模式進行設(shè)計的,因此,在實現(xiàn)的時候也是采用分層實現(xiàn)的方式。在這個實驗中,將首先建立一個Web應用,名字是myweb;然后進行視圖層的實現(xiàn),涉及3個JSP頁面:login.jsp,failure.jsp,success.jsp;接著進行模型層的實現(xiàn),涉及1個JavaBean:beans.LoginBean;再接著是控制層的實現(xiàn)涉及1個Servlet:servlets.LoginServlet;最后對整個Web應用進行測試。
環(huán)境要求
服務(wù)器:Tomcat6.0
集成開發(fā)環(huán)境:Eclipse+MyEclipse8.6
實驗指導
步驟1:創(chuàng)建Web應用myweb1.創(chuàng)建Web工程
a)在主菜單中選擇【File】【New】【W(wǎng)ebProject】,出現(xiàn)NewWebProject
對話框。如果沒有【W(wǎng)ebProject】則選擇【File】【New】【Other】,在彈出的菜單中再選擇【W(wǎng)ebProject】。
b)在NewWebProject對話框的【ProjectName】文本框中輸入myweb;J2EE
SpecificationLevel項選擇“JavaEE5.0”,點擊【Finish】按鈕。c)觀察【package】視圖中出現(xiàn)如下內(nèi)容,表示W(wǎng)eb應用myweb創(chuàng)建成功。
d)注意Web應用的文檔結(jié)構(gòu)(WebRoot下的內(nèi)容),其中classes文件夾需要將
視圖轉(zhuǎn)換為Resource視圖才能看到。
e)注意web.xml配置文件中的內(nèi)容。
index.jsp2.配置服務(wù)器
a)在工具欄點擊按鈕,出現(xiàn)下拉菜單
b)選擇ConfigureServer,出現(xiàn)如下窗口,在該窗口進行相應配置。
c)啟動服務(wù)器如下圖所示:
3.部署Web應用
a)在工具欄點擊
部署按鈕,出現(xiàn)ProjectDeployments對話框。
b)在ProjectDeployments對話框的【Project】下拉列表框中選擇“myweb”。
點擊【Add】按鈕,出現(xiàn)NewDeployment對話框。
c)在NewDeployment對話框中,【Server】下拉列表框選擇Tomcat6.0,點擊
【Finish】,回到ProjectDeployments對話框。點擊【OK】即可。
d)在ProjectDeployments對話框中,【Remove】表示刪除已經(jīng)部署的工程;
【Redeploy】表示重新部署;點擊【Browse】則可以瀏覽已經(jīng)部署的應用。如本實驗中,部署的Web應用位于“C:\\bea\\user_projects\\domains\\base_domain\\autodeploy\\myweb”。
4.訪問測試Web應用
a)如果Tomcat服務(wù)器沒有啟動,則先啟動服務(wù)器。在工具欄點擊
鈕,選擇【Tomcat6.0】【Start】。
b)打開瀏覽器。這里可以使用MyEclipse內(nèi)置的瀏覽器。點擊工具欄中的
按的箭頭按
鈕,出現(xiàn)【MyEclipseWebBrowser】,在地址欄輸入:8080/myweb/index.jsp或:8080/myweb,出現(xiàn)如下運行結(jié)果,表示W(wǎng)eb應用訪問成功。注意:index.jsp在web.xml中已經(jīng)配置為默認訪問文件,因此在訪問地址中可以省略。
步驟2:創(chuàng)建JSP頁面
1.在Web應用的根路徑下創(chuàng)建login.jsp。
a)在主菜單中選擇【New】【JSP(AdvancedTemplates)】或者右鍵點擊工程
上的【W(wǎng)ebRoot】并在彈出菜單中選擇【New】【JSP(AdvancedTemplates)】,都會彈出CreateanewJSPPage對話框。在FilePath中輸入或確認/myweb/WebRoot,在FileName中輸入login.jsp,點擊【Finish】。b)注意:如果沒有【JSP(AdvancedTemplates)】則選擇【New】【Other】,在
彈出的菜單中再選擇【MyEclipse】【W(wǎng)eb】【JSP】。
2.編寫login.jsp的代碼,如下:
functionisValidate(form){//得到用戶輸入的信息username=form.username.value;userpass=form.userpass.value;//判斷用戶名長度if(!minLength(username,6)){alert("用戶名長度小于6位!");form.username.focus();returnfalse;}if(!maxLength(username,8)){alert("用戶名長度大于8位!");form.username.focus();returnfalse;}//判斷口令長度
if(!minLength(userpass,6)){alert("口令長度小于6位!");form.userpass.focus();returnfalse;}if(!maxLength(userpass,8)){alert("口令長度大于8位!");form.userpass.focus();returnfalse;}returntrue;}
//驗證是否滿足最小長度functionminLength(str,length){if(str.length>=length)
returntrue;elsereturnfalse;}
//判斷是否滿足最大長度functionmaxLength(str,length){if(str.length
6.同樣方法訪問測試success.jsp。
a)如果Tomcat沒有啟動,則啟動Tomcat。
b)打開瀏覽器,輸入地址:8080/myweb/success.jsp。c)出現(xiàn)“您好,歡迎登錄網(wǎng)上書店!”表示測試成功。7.同樣方法在Web應用的根路徑下創(chuàng)建failure.jsp。8.編寫failure.jsp的代碼,如下:
登錄失敗
用戶名或者口令不正確,請重新登錄!
9.同樣方法訪問測試failure.jsp,出現(xiàn)“用戶名或者口令不正確,請重新登錄!”表示
測試成功。
步驟3:創(chuàng)建JavaBean1.創(chuàng)建包
在工程上的【src】點擊右鍵,在彈出菜單中選擇【New】【package】,在Names文本框中輸入beans,點擊【Finish】。2.創(chuàng)建Java類
a)在工程上的【src】【beans】點擊右鍵,在彈出菜單中選擇【New】【class】,
在Names文本框中輸入LoginBean,并選中“publicstaticvoidmain(String[]args)”點擊【Finish】。
b)編寫LoginBean的validate方法,如下:publicbooleanvalidate(Stringusername,Stringuserpass){if(username==null||userpass==null)returnfalse;returnusername.equals(userpass);}
c)在LoginBean的main方法中編寫代碼測試。publicstaticvoidmain(String[]args){LoginBeantest=newLoginBean();
System.out.println("正確的用戶名口令,返回"+test.validate("zhangsan","zhangsan"));
System.out.println("錯誤的用戶名口令,返回"+test.validate("zhangsan","123456"));}
右鍵點擊工程中的LoginBean,彈出菜單選擇【Runas】【JavaApplication】,
運行Java程序,在控制臺出現(xiàn)如下結(jié)果,表示測試成功。
正確的用戶名口令,返回true錯誤的用戶名口令,返回false
步驟4:創(chuàng)建Servlet1.創(chuàng)建包
a)在工程上的【src】點擊右鍵,在彈出菜單中選擇【New】【package】,在
Names文本框中輸入servlets,點擊【Finish】。
2.創(chuàng)建Servlet
a)在工程上的【src】【servlets】點擊右鍵,在彈出菜單中選擇【New】
【Servlet】,在Name文本框中輸入LoginServlet,點擊【Next】,出現(xiàn)CreateanewServlet對話框。
b)注意:如果沒有【Servlet】則選擇【New】【Other】,在彈出的菜單中再選
擇【MyEclipse】【W(wǎng)eb】【Servlet】。
c)在CreateanewServlet對話框中,修改Servlet/JSPName為:“/LoginServlets”,點擊【Finish】。注意:創(chuàng)建Servlet之后會自動修改配置文件web.xml。如下:
ThisisthedescriptionofmyJ2EEcomponent
ThisisthedisplaynameofmyJ2EEcomponent
LoginServlets
servlets.LoginServlets
LoginServlets/login
d)編寫LoginServlet的代碼,如下:
//添加導入包importbeans.*;
importjavax.servlet.http.HttpSession;importjavax.servlet.RequestDispatcher;
//在doGet方法中編寫代碼如下:
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//獲取用戶輸入的用戶ID和口令Stringuserid=request.getParameter("username");Stringuserpass=request.getParameter("userpass");//創(chuàng)建模型對象LoginBeanloginBean=newLoginBean();//調(diào)用業(yè)務(wù)方法進行驗證booleanb=loginBean.validate(userid,userpass);//要轉(zhuǎn)向的文件Stringforward;//如果登陸成功,把用戶名寫入session中,并且轉(zhuǎn)向success.jsp,
//否則轉(zhuǎn)向failure.jsp
if(b){//獲取sessionHttpSessionsession=(HttpSession)request.getSession(true);//把用戶名保存到session中session.setAttribute("userid",userid);//目標轉(zhuǎn)向文件是success.jspforward="success.jsp";}else{//目標轉(zhuǎn)向文件是failure.jspforward="failure.jsp";}//獲取Dispatcher對象
RequestDispatcherdispatcher=request.getRequestDispatcher(forward);//完成跳轉(zhuǎn)dispatcher.forward(request,response);}//在doPost方法中調(diào)用doGet方法,使得無論是get請求還是post請求,
//都訪問一致的代碼
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doGet(request,response);
}3.測試Servlet
a)如果Tomcat沒有啟動,則啟動Tomcat。
b)打開瀏覽器,輸入地址:8080/myweb/login。
c)由于沒有登錄,直接訪問LoginServlet,出現(xiàn)“用戶名或者口令不正確,請重新登錄!”,表示測試成功。
步驟5:Web應用測試
1.觀察myweb應用最終的文檔結(jié)構(gòu),如下:
注意:這個文檔結(jié)構(gòu)實際部署在“D:\\JavaEEServer\\apache-tomcat-6.0.26\\webapps”目錄下。
2.測試Web應用
a)如果Tomcat沒有啟動,則啟動Tomcat。
d)打開瀏覽器,輸入地址:8080/myweb/login.jsp。
e)在login.jsp中輸入正確的、錯誤的用戶名和口令,進行測試,觀察訪問結(jié)果。
實驗總結(jié)
這個實驗中,在Eclipse+MyEclipse8.6集成開發(fā)環(huán)境中創(chuàng)建了一個Web應用myweb,
包括JSP頁面,JavaBean和Servlet,實現(xiàn)了簡單的登錄功能。
友情提示:本文中關(guān)于《實驗2-Web開發(fā)》給出的范例僅供您參考拓展思維使用,實驗2-Web開發(fā):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。