-
典型的mvc(模型视图控制器):jsp+servlet+javaBean MVC是一种软件设计典范,用一种业务逻辑,数据界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写逻辑代码.查看全部
-
Struts是基于mvc设计模式的web应用程序框架查看全部
-
Action的搜索顺序: 逐层搜索,现在最后一级搜索,如果没有查到,则返回上一级,以此类推,到根目录,如果还没找到则报错查看全部
-
struts2提供了三种方式去访问servlet: 01:ActionContext 02:实现***Aware接口 03:ServletActionContext查看全部
-
struts.properties文件查看全部
-
工作原理: 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请是否需要调用某个Action(只有.action的才会到这个步骤,去查找当前这个有没有指定的action,有就回到过滤器) 4 如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter把请求的处理交给ActionProxy 5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 6 ActionProxy创建一个ActionInvocation的实例(经历一系列的拦截器之后,执行action,返回result,也是字符串 对象,在经过一系列的拦截器,通过response返回到用户的实例进行显示)。 7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper查看全部
-
1.导包: commons-fileupload(上传下载包) commons-io(输入输出包) commons-lang 3-3.2(基础包) commons-logging(日志包) freemarker(模板引擎,通过模板生成文本输出的通用工具) structs2-core(核心包) xwork-core(一些类基于xwork) ognl(表达式) javassist-3.11.0.GA.jar(解析java类文件的一个包) 2.配置web.xml:web项目在启动tomcat时第一个加载的就是web.xml 2.1.定义过滤器 <filter> <filter-name>struct2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><!--按住ctrl点击鼠标左键如果可以跳转则证明正确--> </filter> 2.2.filter的映射 <filter-mapping> <filter-name>struct2</filter-name><!--映射与文件的filter-name应该保持一致--> <url-pattern>/*</url-pattern><!--/*是所有的都需要过滤--> </filter-mapping> 3.src中创建struts的核心xml——struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> </struts> 4.创建action包 创建action类让其继承ActionSupport Struts2中有一个默认的方法不指定方法名的话有一个execute()方法 5.配置struts.xml中的映射packeg,action(自己定义),result(结果集) 6.创建result的视图查看全部
-
action默认的页面查看全部
-
struts.properties查看全部
-
struts2的基础查看全部
-
方面: 1.访问Servlet API 2.Action搜索顺序 3.动态方法调用 4.制定多个配置文件 5.默认action 6.Struts2后缀 7.接受参数 8.处理结果类型 1.访问Servlet API HttpServletRequest HttpServletResponse(Struts2不存在) struts2提供了三种方式: 1.ActionContext 2.实现***Aware接口 3.ServletActionContext 2.Action搜索顺序 http://localhost:8080/struts2/path1/path2/path3/student.action 1.判断package是否存在,如:path1/path2/path3/ 2.(package存在)判断action是否存在,如果不存在则去默认namespace的package里面寻找action 3.如果没有,则报错 2.(package不存在)检查上一级路径的package是否存在(知道默认namespace),重复第一步 3.如果没有,则报错 3.动态方法调用 为了解决一个Action对应多个请求的处理,以免Action太多 1.制定method属性(少用)method="" 2.感叹号方式(不推荐)xxx!add.action 3.通配符方式(推荐使用)*_*和{1}{2} 4.指定多个配置文件 1.<include file="模块.xml"></include> 5.默认action 当用户输入的地址找不到对应的action,那么默认action就起作用了 <package> <default-action-ref name="action名称" /> <action name="" class=""> </action> </package>查看全部
-
(1)在result里面最重要的属性是type类型,type的默认值为dispatcher(转发),这个类型支持JSP视图技术。 (2)Struts2支持多种视图技术,例如JSP、Valocity(模板引擎)、FreeMaker(模板引擎)等。 (3)常用三个:chain,redirect,plaintext。 1、chain:将action和另外一个action链接起来。 2、redirect:重定向(会丢失请求参数)。 3、plaintext:返回网页源代码。 4、stream:返回inputstream用于文件下载查看全部
-
全局结果: 将<result/>作为<global-result/>元素的子元素配置。 局部结果: 将<result/>作为<action/>元素的子元素配置。查看全部
-
结果类型input的效果 * 1.当参数类型转换错误时,如age输入框中的类型是字母等情况,方法自动返回input * 2.当action中存在addFiledError时: * 1)addFileError放在一般执行方法,addFieldError("", "");语句后面有返回input的语句 * 2)addFileError放在validate()中 *3.FileError的表现形式: * 在jsp页面中使用<s:fielderror/>标签,该标签name属性为addFieldError方法中的参数fieldName,在jsp页面中使用struts标签, * 需要导入标签库 语句:<%@ taglib prefix="s" uri="/struts-tags" %>查看全部
-
Action的搜索机制: http://localhost:8080/struts2/path1/path2/path3/student.action 第一步:判断package是否存在,如:path1/path2/path3/ ----------------------------如果package存在----------------------------------- 第二步:判断action是否存在,如果不存在则去默认namespace的package里面寻找action 第三步:如果没有action,则报错 -------------------如果packae:path1/path2/path3/不存在------------------------ 第二步:检查上一级路径的package是否存在(直到默认namespace)重复第一步 [例:先找path3、再找path2、然后找path1] 第三步:如果没有action,则报错查看全部
举报
0/150
提交
取消