Struts2
DN-CS BISHA
来自星星的我
展开
-
struts2工作流程
struts2工作流程 @sunRainAmazingStruts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和原创 2017-07-07 18:02:10 · 326 阅读 · 0 评论 -
struts2中的默认包struts-default有什么作用?
struts2中的默认包struts-default有什么作用? @ sunRainAmazing1)struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和Result类型, 而Struts2很多核心的功能都是通过这些内置的拦截器实现, 如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。 当翻译 2017-07-07 18:20:36 · 3938 阅读 · 0 评论 -
struts2如何对指定的方法进行验证?
struts2如何对指定的方法进行验证? @sunRainAmazing1)validate()方法会校验action中所有与execute方法签名相同的方法; 2)要校验指定的方法通过重写validateXxx()方法实现, validateXxx()只会校验action中方法名为Xxx的方法。 其中Xxx的第一个字母要大写; 3)当某个数据校验失败时,调用addF翻译 2017-07-07 18:23:14 · 760 阅读 · 0 评论 -
struts2默认能解决get和post提交方式的乱码问题吗?
struts2默认能解决get和post提交方式的乱码问题吗? @sunRainAmazing不能。 struts.i18n.encoding = UTF-8 属性值只能解析POST提交下的乱码问题。翻译 2017-07-07 18:24:24 · 1029 阅读 · 1 评论 -
值栈ValueStack的原理与生命周期?
值栈ValueStack的原理与生命周期? @ sunRainAmazing1)ValueStack贯穿整个 Action 的生命周期,保存在request域中, 所以ValueStack和request的生命周期一样。 当Struts2接受一个请求时,会迅速创建ActionContext, ValueStack,action。然后把action存放进ValueS翻译 2017-07-07 18:27:17 · 594 阅读 · 0 评论 -
ActionContext、ServletContext、pageContext的区别?
ActionContext、ServletContext、pageContext的区别? @sunRainAmazing1)ActionContext是当前的Action的上下文环境, 通过ActionContext可以获取到request、session、 ServletContext等与Action有关的对象的引用; 2)ServletContext是域对象,翻译 2017-07-07 18:28:52 · 1274 阅读 · 0 评论 -
result的type属性中有哪几种结果类型?
result的type属性中有哪几种结果类型? @sunRainAmazing一共10种: dispatcher :struts默认的结果类型, 把控制权转发给应用程序里的某个资源不能把控制权转发给一个外部资源, 若需要把控制权重定向到一个外部资源, 应该使用 redirect 结果类型 redirect : 把响应重定向到另一个资源(包括一个外部资源) redir翻译 2017-07-07 18:30:56 · 2853 阅读 · 0 评论 -
拦截器的生命周期与工作过程?
拦截器的生命周期与工作过程? @sunRainAmazing1)每个拦截器都是实现了Interceptor接口的 Java 类; 2)init(): 该方法将在拦截器被创建后立即被调用, 它在拦截器的生命周期内只被调用一次. 可以在该方法中对相关资源进行必要的初始化; 3)intercept(ActionInvocation invocation): 每拦截一翻译 2017-07-07 18:32:24 · 4528 阅读 · 0 评论 -
struts2如何完成文件的上传?
struts2如何完成文件的上传? @sunRainAmazingstruts2如何完成文件的上传? 1、JSP页面: 1)JSP页面的上传文件的组件:<s: file name=”upload” />, 如果需要一次上传多个文件, 就必须使用多个 file 标签, 但它们的名字必须是相同的,即: name=“xxx”的值必须一样; 2)必须把表单的翻译 2017-07-07 18:34:34 · 320 阅读 · 0 评论 -
struts2是如何管理action的?这种管理方式有什么好处?
struts2是如何管理action的?这种管理方式有什么好处? @ sunRainAmazingstruts2框架中使用包来管理Action,包的作用和java中的类包是非常类似的。 主要用于管理一组业务功能相关的action。 在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下。翻译 2017-07-07 18:19:01 · 629 阅读 · 0 评论 -
struts2如何访问HttpServletRequest、HttpSession、ServletContext三个域对象?
struts2如何访问HttpServletRequest、HttpSession、ServletContext三个域对象? @sunRainAmazing方案一: HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = Serv翻译 2017-07-07 18:17:51 · 901 阅读 · 0 评论 -
Struts2的设计模式,请求流程
Struts的设计模式 @sunRainAmazingMVC模式: web应用程序启动时就会加载并初始化ActionServler。 用户提交表单时,一个配置好的ActionForm对象被创建, 并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证, 如果需要就调用ActionForm的Validate()验证后选择将请原创 2017-07-07 18:04:04 · 330 阅读 · 0 评论 -
Struts2的拦截器和过滤器的区别
Struts2的拦截器和过滤器的区别 @sunRainAmazing1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。2、过滤器依赖于servlet容器,而拦截器不依赖于servlet容器。3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。4、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。5、在Action的生命周期中,拦截器可以多次调用,而翻译 2017-07-07 18:05:33 · 318 阅读 · 0 评论 -
为什么要使用Struts2
为什么要使用Struts2 @ sunRainAmazingStruts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。 它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。1.Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。 2使用OGNL进行参数传递。 OG翻译 2017-07-07 18:09:06 · 2330 阅读 · 0 评论 -
struts2有哪些优点?
struts2有哪些优点? @sunRainAmazing1)在软件设计上Struts2的应用可以不依赖于Servlet API和struts API。 Struts2的这种设计属于无侵入式设计; 2)拦截器,实现如参数拦截注入等功能; 3)类型转换器,可以把特殊的请求参数转换成需要的类型; 4)多种表现层技术,如:JSP、freeMarker、Velocity等; 5)St翻译 2017-07-07 18:10:05 · 2482 阅读 · 0 评论 -
struts2是如何启动的?
struts2是如何启动的? @sunRainAmazing struts2框架是通过Filter启动的, 即StrutsPrepareAndExecuteFilter, 此过滤器为struts2的核心过滤器; StrutsPrepareAndExecuteFilter的 init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。 strut翻译 2017-07-07 18:12:05 · 2121 阅读 · 0 评论 -
struts2框架的核心控制器是什么?它有什么作用?
struts2框架的核心控制器是什么?它有什么作用? @sunRainamazing1)Struts2框架的核心控制器是StrutsPrepareAndExecuteFilter。 2)作用: 负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求, 当用户请求到达时,该Filter会过滤用户的请求。 默认情况下,如果用户请翻译 2017-07-07 18:13:42 · 10174 阅读 · 1 评论 -
struts2配置文件的加载顺序?
struts2配置文件的加载顺序? @sunRainAmazingstruts.xml ——> struts.properties 常量可以在struts.xml或struts.properties中配置,如果在多个文件中配置了同一个常量, 则后一个文件中配置的常量值会覆盖前面文件中配置的常量值. struts.xml文件的作用:通知Struts2框架加载对应的Action资源翻译 2017-07-07 18:15:00 · 281 阅读 · 0 评论 -
struts2常量的修改方式?
struts2常量的修改方式? @sunRainAmazing常量可以在struts.xml或struts.properties中配置,两种配置方式如下: 1)在struts.xml文件中配置常量 <constant name="struts.action.extension" value="do"/> 2)在struts.properties中配置常量(struts.properti翻译 2017-07-07 18:16:03 · 542 阅读 · 0 评论 -
struts1于struts2的比较
struts1于struts2的比较 @sunRainAmazing1、Action 类: Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现常翻译 2017-07-07 18:38:20 · 212 阅读 · 0 评论