




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts1Struts11Struts1和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);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度汽车4S店租赁协议范本
- 2025房产装入家族信托全程指导与税费缴纳合同
- 二零二五年度建筑施工专用设备综合保险合同
- 2025版车辆租赁及汽车租赁平台开发合同
- 二零二五年度酒店与广告公司合作宣传合同
- 二零二五年度建筑钢结构工程承揽合同质量保障模板
- 麻疹健康教育讲座课件
- 电商代运营物流配送及仓储管理合同
- 二零二五年度个人信用贷款合同规范样本:信用社会保障协议
- 二零二五年度二手房出售合同附带原业主装修补偿及物业管理责任转移协议
- 高血压疑难病例护理讨论
- 汽配行业质量管理方案
- 2025小学英语新课标教学改革心得体会
- 6S管理改善案例
- 城市园林绿化工程施工及验收规范城市园林绿化工程施工及验收规范
- 农产品直供食堂合作协议
- 市政道路地下综合管廊工程总承包项目施工进度计划及保证措施
- 空中交通流量建模与仿真-深度研究
- 2025年国际政治格局:多极化与地缘政治风险
- (2025)新《公司法》知识竞赛题库(附含参考答案)
- 2025年度旅游景区安全生产管理协议3篇
评论
0/150
提交评论