已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts11Struts1和Servlet的关系1创建第一个Struts1项目1例子1:3总结重点:struts1的工作流程(基于MVC模式的)7一普通的Servlet的工作流程7二Structs1的工作流程(和上面的对比记忆)8Struts标签9Bean标签9html标签10logic标签(逻辑标记)12i18n(国际化)13Struts1Struts1和Servlet的关系实体 - VOJsp+Javabean业务逻辑-daoJsp+Servlet+Javabean接收数据ActionForm跳转ActionForward控制ActionServletActionForm和VO的区别:一样的内容,不一样的作用ActionForm只接收前台表单传来的数据VO是conga后台提取的数据向前台传递创建第一个Struts1项目新建一个web项目,选择1.4即可右键-MyEclipse-Add Struts Capacity-Struts控制文件的路径TLD(标签)1)2):显示信息3):逻辑标签struts-config.xml 担任Controller的是ActionServlet,所有的客户端请求都通过它来完成转发,必须在web.xml中配置: 注意:1)设定config参数的作用是设定struts-config.xml(包括了所有的Struts的相关请求转发及一些资源设定)的文档来源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)动态获取表单的数据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客户端发送一个request到tomcat2.tomcat接受请求,3.new HttpServletRequest对象4.new HttpServletResponse 对象5.发送doGet/doPost到相应的servlet6.servlet截取到相应的URL7.根据URL找到相应(文件/数据)8.调用相应的业务逻辑就是调用相应的Dao9.对数据的操作10.返回给Dao一个结果11.将Dao返回的结果返回到相应的servlet12.servlet会根据返回的结果找到跳转的页面13.在tomcat会根据结果生成页面14.将页面返回给web客户端二Structs1的工作流程(和上面的对比记忆)Web客户端ActionServlet1.requestStruts-config.xml文件Action业务逻辑控制器Model 业务逻辑Jsp1 web客户端发送一个request到tomcat2 tomcat接受请求3 new HttpServletRequest对象4 new HttpServletResponse对象5 发送doGet/doPodt方法到相应的ActionServlet6 ActionServlet会读取struts-config.xml文件7 截取url信息8 根据url的配置信息,取得数据(从struts中的Action标签的内容放到ActionMapping当中)9 New ActionForm对象(作用:会收集表单数据,进行存取)10 ActionServlet会取得表单数据11 New Action12 会执行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属性:这个链接会转发给控制器,由控制器做决定;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);return mapping.findForward(show);2) success.jsp用户名密码为空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46089.4-2026输送机械检查与维护规范第4部分:斗式提升机
- 水上打桩工操作能力测试考核试卷含答案
- 煤间接液化分离操作工安全理论竞赛考核试卷含答案
- 民间工艺品制作工岗前评优竞赛考核试卷含答案
- 氯氢处理工岗前工作技巧考核试卷含答案
- 激光设备安装调试员安全文化测试考核试卷含答案
- 2026年糖尿病酮症酸中毒研讨
- 2026年护理工作规范培训课件
- 脂肪醇生产操作工岗中业务能力考核试卷含答案
- 锻件校正工岗位安全意识强化考核试卷含答案
- GB/T 31880-2026检验检测机构诚信基本要求
- 2026年注册会计师《财务管理》模拟试卷(含解析)
- 1.4 人口普查 课件(共25张) 北师大版数学四年级上册
- 2026广东汕尾市总工会招聘工会社会工作者及维权维稳专业队伍人员32人笔试模拟试题及答案详解
- 妊娠期妇女心肺复苏急救指南(2025版)中文版+围产期急救操作规范
- 中国骨科大手术静脉血栓栓塞症预防指南(2024年版)
- 电工竞赛考试题库及答案
- 2026年四川省成都市中考语文真题(试题+答案)
- 乳腺癌非药物干预患者版指南
- TCAWS 0007―2026 安全管理标准化班组评定通 用要求
- 手术前后病人的护理课件-3
评论
0/150
提交评论