Struts1學習筆記總結.doc_第1頁
Struts1學習筆記總結.doc_第2頁
Struts1學習筆記總結.doc_第3頁
Struts1學習筆記總結.doc_第4頁
Struts1學習筆記總結.doc_第5頁
免費預覽已結束,剩余9頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Struts1Struts11Struts1和Servlet的關系1創(chuàng)建第一個Struts1項目1例子1:3總結重點:struts1的工作流程(基于MVC模式的)7一普通的Servlet的工作流程7二Structs1的工作流程(和上面的對比記憶)8Struts標簽9Bean標簽9html標簽10logic標簽(邏輯標記)12i18n(國際化)13Struts1Struts1和Servlet的關系實體 - VOJsp+Javabean業(yè)務邏輯-daoJsp+Servlet+Javabean接收數據ActionForm跳轉ActionForward控制ActionServletActionForm和VO的區(qū)別:一樣的內容,不一樣的作用ActionForm只接收前臺表單傳來的數據VO是conga后臺提取的數據向前臺傳遞創(chuàng)建第一個Struts1項目新建一個web項目,選擇1.4即可右鍵-MyEclipse-Add Struts Capacity-Struts控制文件的路徑TLD(標簽)1)2):顯示信息3):邏輯標簽struts-config.xml 擔任Controller的是ActionServlet,所有的客戶端請求都通過它來完成轉發(fā),必須在web.xml中配置: 注意:1)設定config參數的作用是設定struts-config.xml(包括了所有的Struts的相關請求轉發(fā)及一些資源設定)的文檔來源2)Servlet-mapping將所有以*.do結尾的請求將給ActionServlet來處理例子1:1) index.jsp 用戶名:密碼: 2) struts-config.xml3) UserFormpublic class UserForm extends ActionFormprivate String username;private String pwd;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPwd() return pwd;public void setPwd(String pwd) this.pwd = pwd;4) UserActionpublic class UserAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception /1.得到表單中方的數據UserForm userform = (UserForm) form;String username = userform.getUsername();String pwd = userform.getPwd();/2.往后臺傳數據System.out.println(username+=+pwd);boolean flag = UserDao.getInstance().findByUser(username, pwd);if(flag)return mapping.findForward(success);elsereturn mapping.findForward(error);5) UserDao/單例模式public class UserDao private static UserDao instance = new UserDao();private UserDao()public static UserDao getInstance()return instance;public boolean findByUser(String username,String pwd)return false;6)連接數據庫(DBConnection 和UserDao)public boolean findByUser(String username,String pwd)boolean flag = false;DBConnection db = new DBConnection();String sql = select username,password from users where username=? and password=?;try Connection conn = db.connection();PreparedStatement pst = conn.prepareStatement(sql);pst.setString(1, username);pst.setString(2, pwd);ResultSet rs = pst.executeQuery();if(rs.next()flag = true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return flag;7)獲取信息:在頁面上可以使用EL表達式8)在UserForm中新加入兩種方法:/和表單中按鈕的作用是一樣的public void reset(ActionMapping mapping, HttpServletRequest request) System.out.println(reset);/驗證框架public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) System.out.println(驗證框架);return super.validate(mapping, request);順序:先清空,再放值,再驗證9)動態(tài)獲取表單的數據struts-config.xml將原來的form-bean去掉將UserAction改為:public class UserAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception /1.得到表單中方的數據DynaActionForm userForm = (DynaActionForm) form;System.out.println(userForm.get(username)+*+userForm.get(pwd);String username = (String) userForm.get(username);String pwd = (String) userForm.get(pwd);/2.往后臺傳數據boolean flag = UserDao.getInstance().findByUser(username, pwd);if(flag)request.setAttribute(username, username);return mapping.findForward(success);elsereturn mapping.findForward(error);總結重點:struts1的工作流程(基于MVC模式的)一普通的Servlet的工作流程1.web客戶端發(fā)送一個request到tomcat2.tomcat接受請求,3.new HttpServletRequest對象4.new HttpServletResponse 對象5.發(fā)送doGet/doPost到相應的servlet6.servlet截取到相應的URL7.根據URL找到相應(文件/數據)8.調用相應的業(yè)務邏輯就是調用相應的Dao9.對數據的操作10.返回給Dao一個結果11.將Dao返回的結果返回到相應的servlet12.servlet會根據返回的結果找到跳轉的頁面13.在tomcat會根據結果生成頁面14.將頁面返回給web客戶端二Structs1的工作流程(和上面的對比記憶)Web客戶端ActionServlet1.requestStruts-config.xml文件Action業(yè)務邏輯控制器Model 業(yè)務邏輯Jsp1 web客戶端發(fā)送一個request到tomcat2 tomcat接受請求3 new HttpServletRequest對象4 new HttpServletResponse對象5 發(fā)送doGet/doPodt方法到相應的ActionServlet6 ActionServlet會讀取struts-config.xml文件7 截取url信息8 根據url的配置信息,取得數據(從struts中的Action標簽的內容放到ActionMapping當中)9 New ActionForm對象(作用:會收集表單數據,進行存取)10 ActionServlet會取得表單數據11 New Action12 會執(zhí)行Actiion中的execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)13 從ActionForm中取得數據14 調用相應的模型層15 返回數據搭配Action16 通過ActionForward返回到ActionServlet17 通過forward到視圖層(jsp)生成jsp18 返回response到web客戶端Struts標簽Bean標簽標簽頭在哪找到:struts包下的打開即寫成1) BeanActionpublic class BeanAction extends Actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception request.setAttribute(hello, 測試一下);request.setAttribute(hello1, 測試一下);return mapping.findForward(show);2) struts-config.xml3) success.jsp 結果:其他標簽:復制標記顯示Bean屬性標記 標記 注意:filter為true是不支持html代碼html標簽(只要是html就可以改成struts1的代碼)和相同說明:生成的結果取決于Struts應用程序所位于的服務器的locale。如果你將應用程序部署到一個不同locale的服務器,你不需要改變代碼,Locale會自動調整 User Name: Password: 說明:html:form 相當于form html:text 相當于 html:submit 相當于提交按鈕 focus 是光標1) BeanActionpublic class BeanAction extends Actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception UserForm user = (UserForm) form;user.setUsername(堂吉訶德);user.setPwd(123);request.setAttribute(user,user );return mapping.findForward(show);2) struts-config.xml3) success.jsp 用戶名:密 碼: 結果:其他標簽:標記 :(property: 元素名稱 ;size: 顯示的字數 ;value: 元素初值 ;redisplay: 是否顯示ActionForm的值)標記標記 標記 標記 標記標記標記 標記 標簽 :(forward屬性:鏈接到一個global forward上;action屬性:鏈接到一個action mapping上;href屬性:這個鏈接會轉發(fā)給控制器,由控制器做決定;page屬性:一個相對的鏈接)標簽 標記 logic標簽(邏輯標記)1) BeanActionpublic class BeanAction extends Actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception request.setAttribute(hello,null);List list = new ArrayList();request.setAttribute(list, list);String str = ;request.setAttribute(str, str);return mapping.findForward(show);2) success.jsp為空不為空為空不為空為空不為空結果:關于取出list內容的標簽用法1) BeanActionpublic class BeanAction extends Actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception List list = new ArrayList();for(int i=0;i=10;i+)UserForm user = new UserForm();user.setUsername(username+i);user.setPwd(pwd+i);list.add(user);request.setAttribute(list, list);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論