Struts培训MyEclipse创建简单实例

上传人:飞*** 文档编号:51642843 上传时间:2018-08-15 格式:PPT 页数:46 大小:1.09MB
返回 下载 相关 举报
Struts培训MyEclipse创建简单实例_第1页
第1页 / 共46页
Struts培训MyEclipse创建简单实例_第2页
第2页 / 共46页
Struts培训MyEclipse创建简单实例_第3页
第3页 / 共46页
Struts培训MyEclipse创建简单实例_第4页
第4页 / 共46页
Struts培训MyEclipse创建简单实例_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《Struts培训MyEclipse创建简单实例》由会员分享,可在线阅读,更多相关《Struts培训MyEclipse创建简单实例(46页珍藏版)》请在金锄头文库上搜索。

1、Struts培训软件研究所Servlet:典型的Servlet应用是由用户发出请求到Servlet容器,由容器包 装成一个ServletRequest对象然后交由相应的Servlet类进处理的,处理 完成之后再将结果包装成ServletResponse对象返回给用户。JSP: jsp是为了简化Servlet编程而生的,它实际的处理请求的方式 还是Servlet,JSP容器根据JSP文件生成Servlet源代码,然后编译它,用 它来处理请求。WEB应用的几种实现方式: 1、只使用JSP的应用2、JSP Model 1JavaBean是一个规范了的 普通类,规范要求JavaBean 1.实现jav

2、a.io.Serializable 接口 2.提供无参数的构造器 3.提供getter 和 setter方法访问它的属性.JavaBean示例:package com.bean.test; public class SimpleBean implements java.io.Serializable private String username = null;public SimpleBean() public String getName() /业务代码。return username ; 3、JSP Model2 (Struts实质上就是在此模型的基础上实现的一个 MVC框架)Strut

3、s简介什么是MVC? MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。 MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负 不同的任务。Struts实现MVC的机制 在Struts框架中,模型由实现业务逻辑的JavaBean或其它组件构成,控制 器由ActionServlet和Action来实现,视图由一组JSP文件构成。1、视图就是一组JSP文件2、模型表示应用程序的状态和业务逻辑。对于大型应用,业务逻辑 通常由JavaBean或其它组件来实现。3、控制器由ActionServlet类和Action类来实现。ActionServlet类 是Struts框架中

4、的核心组件。ActionServlet继承了 javax.servlet.http.HttpServlet类,它在MVC模型中扮演中央控制器的 角色。它主要负责接收HTTP请求信息,根据配置文件struts-config.xml 的配置信息,把请求转发给适当的Action对象。Struts实现的MVC框架下边我们将用MyEclipse创建一个Struts应用。n开发环境 Jdk1.5 MyEclipse5.1 Tomcat5.01、新建一个Web Projects,取名为StrutsWeb,其他选择默认,如图所示,选择Finishn2.新建StrutsWeb工程生产若干文件,如 图2:此时we

5、b.xml文件还没有任何配置 信息3、右键StrutsWeb工程,选择MyEclipse,再选择 Add Struts Capabilities,为工程使用Struts框架。这一步的 作用在于MyEclipse能自动将Struts所 需要的jar包、tld文件导进来,并 生成struts-config.xml文件和自动配置 web.xml文件。n4、这里选择Struts1.2,其他选择默认,选择Finish完成Struts框架 的创建。n5、经过刚才的向导,MyEclipse自动帮我们导入了Struts使用所相 关的tld文件和Jar包,并生成了Struts的配置文件strtus-config

6、.xml通过向导MyEclipse还为我们配置了struts在web.xml文件中的配置信息Struts的环境配置已经由向导完成了。 下一步将创建以下三部分:1、 视图层(JSP) 2、 控制器层(Action,ActionForm) 3、 模型层(JavaBean) 来实现一个简单的Struts应用。应用需求:1、接受用户输入姓名,如果输入的值与由模型层所返回的值相同,则由控制器层返回 Hello !,否则提示错误信息。视图层Hello.jsp 控制器层HelloAction,HelloActionForm 模型层HelloJavaBeann6、这里通过向导的方式创建控制层、视图层文件,并由

7、向导自 动生成控制层、视图层之间的关系。 打开struts-config.xml文件, 选择编辑区左下角的Design,如图:n7、右键编辑区的空白区,选择 New Form,Action and JSP 创 建form、action、和jsp 3个文件,并由向导自动配置(struts- config.xml)3者的关系。 在Struts项目中,一般情况下一 个(控制器层)Action和一个 Form是一一对应的。同时视图层 又是和控制器层相对应的。即一 个控制器层对应多个视图层。这 3者关系由struts-config.xml文件 配置(关联)。n8、输入Form的用例名,本例输入Hello

8、(实际上向导会自动生成 HelloForm.java类文件), superclass:选择 org.apache.struts.action.ActionForm(父类)n9、给HelloForm添加若干属性:这里添加一个userName属性, 选择图8左下角的Form Porperties, 在选择 右下角的 Add, 在弹出 的窗口Name:选项输入userName,其他两项默认,选择Add,再 选择Close完成创建n10、选择图8下边的JSP选项,并把多选框选上,通过向导生成 一个hello.jsp文件,并自动和HelloForm.java关联n11、这几个选项可选可不选,这里保留默认

9、, 选择Nextn12、向导自动生成HelloAction与HelloForm匹配,同时 HelloAction类文件默认生成一个execute方法(Methods),其他选 择默认,选择Finish完成form、action和jsp 3个文件的创建n13、系统自动生成的3个文件及其3者的联系在创建Action、ActionForm之后 struts-config.xml文件的前后变化, 因为struts-config.xml是用来设置action和actionform之间的关系, 所以需要配置它,这里我们通过向导已由MyEclipse帮我们配置完成了。创建之前创建之后nForm、action

10、和jsp的主要生成内容nForm、action和jsp 3者关系由struts-config.xml配置关联Struts-config.xmljspformactionStruts-config.xmljspformn此时Action类还没有做任何事情,下面添加一个(模型层) JavaBean(默认设置一个属性值),并修改Action类的execute方 法: 判断用户输入的者是否与该默认值匹配,如匹配,则输出欢迎 信息,否则输出提示重新输入信息。创建HelloJavaBean(下边是HelloJavaBean的代码)package com.yourcompany.struts.dao;imp

11、ort java.io.Serializable;public class HelloJavaBean implements Serializableprivate String userName; public HelloJavaBean() this.userName = “sise“; /设置一个默认值 public String getUserName() return userName; public void setUserName(String userName) this.userName = userName; 编缉Action类,增加红色部分 public ActionFo

12、rward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) HelloForm helloForm = (HelloForm) form;/ TODO Auto-generated method stub /取得HelloForm的userName值(即jsp页面传递的参数值) String userName = helloForm.getUserName()=null?“:helloForm.getUserName();Hello

13、JavaBean helloJavaBean=new HelloJavaBean();if(userName.equals(helloJavaBean.getUserName()request.setAttribute(“message“, userName + “欢迎您!“); else request.setAttribute(“message“, “您输入的用户名不正确,请重新输入!“);/return null;/这里设置为响应到“hello“对应struts-config.xml指定的页面return mapping.findForward(“hello“); 至此我们已经完成了利用

14、Struts来实现的视图和控制器部分。现在部署你的工程,重启tomcat服务器,并在浏览器输入 http:/localhost:8080/StrutsWeb/form/hello.jsp ,如果看到如下 图的界面,则表示工程部署成功(如不能正常运行,请检查 你的JDK、tomcat等配置环境)Struts培训 IIHelloActionForm作为传输对象在页面和Action之类传输ActionServlet控制器上图中action这一动作的地址是/helloAction.do ,那么我们的应用是 怎么知道它得交由ActionServlet类来处理我们的请求的呢? 让我们看一下web.xml文

15、件上图中红线圈中的部分, 在提交了/helloAction.do 之后,web容器能知道以 ActionServlet来处理我们的请求的原因就是由于配置了红线部份的信息. *.do表明了,所以以 .do 结尾的请求都将映射给 action 这个名称所对应的Servlet来处理,从配置文件中可以看到此Servlet就是 ActionServlet为什么要交由ActionServlet来处理我们的以*.do结尾的请求我们现在知道了,那为 什么ActionServlet怎么能知道我们是要将请求具体交给哪一个Action来处理呢?答案就是红色线框那里了,线框内我们定义了一个config参数的值为web

16、-inf下边 的struts-config.xml文件.这样配置的作用是ActionServlet将使用这个配置文件来控 制使用哪个Action来处理具体的请求和用哪个JSP页面来返回我们的信息.到现在我们已经知道了,提交的请求是根据web.xml文件的配置来确定由 ActionServlet来处理我们的请求,而且我们也知道了ActionServlet是根据 struts-config.xml文件来确定将由哪一个具体的Action类来处理我们的请求 那这个struts-config.xml文件是怎么样的呢?1、用来配置我们的ActionForm具体的每一个ActionForm对应一个 标签(注:一个是beans一个是bean),这里我们只配置了两个参数, type配置的内容为这个ActionForm的类的全路径,而name则是在此ActionForm被 创建时所定义的对象名。(注:是对象名,不是类名) 如: MyClass class1=new MyClass();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号