首页编程java编程java中status是什么,java中status1和status2的区别

java中status是什么,java中status1和status2的区别

编程之家2023-10-14143次浏览

大家好,如果您还对java中status是什么不太了解,没有关系,今天就由本站为大家分享java中status是什么的知识,包括java中status1和status2的区别的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

java中status是什么,java中status1和status2的区别

java的类型参数是什么意思

应该是泛型中提到的一个概念,<T>表示传入任意参数,在给一个泛型类初始化的时候我们要给它传入具体的值,一般是一个类型,如String,Integer或者是一个java bean类型的数据,这时候,String是作为一个参数传过去的,但它表示的是一个字符串类型,也就是传入了String类型的参数。此时String就是一个参数,一个类型参数。如List<string> testList= new List<string>();一个泛型数组,我们要规定该list中只能传入字符串怎么办,这时就给他传入一个String类型参数,只要传入其他类型就会在编译期报错,这也是泛型的一个优点。

java中status1和status2的区别

Struts1和Struts2的区别和对比:

Action类:

java中status是什么,java中status1和status2的区别

Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。

Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

线程模式:

java中status是什么,java中status1和status2的区别

Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。

Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

Servlet依赖:

Struts1 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和 HttpServletResponse被传递给execute方法。

Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response。但是,其他的元素减少或者消除了直接访问HttpServetRequest和 HttpServletResponse的必要性。

可测性:

测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展--Struts TestCase--提供了一套Struts1的模拟对象(来进行测试)。

Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。

捕获输入:

Struts1使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean)。

Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过 web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种 ModelDriven特性简化了taglib对POJO输入对象的引用。

表达式语言:

Struts1整合了JSTL,因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱。

Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--"Object Graph Notation Language"(OGNL).

绑定值到页面(view):

Struts 1使用标准JSP机制把对象绑定到页面中来访问。

Struts 2使用"ValueStack"技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。

类型转换:

Struts 1 ActionForm属性通常都是String类型。Struts1使用Commons-Beanutils进行类型转换。每个类一个转换器,对每一个实例来说是不可配置的。

Struts2使用OGNL进行类型转换。提供基本和常用对象的转换器。

校验:

Struts 1支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象。

Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性

Action执行的控制:

Struts1支持每一个模块有单独的Request Processors(生命周期),但是模块中的所有Action必须共享相同的生命周期。

Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。

Struts1流程:

(1)用户的请求以HTTP方式传输到服务器上,接受请求的是ActionServlet.

(2)ActionServlet接收到请求后,会查找Struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求操作应为登陆操作。如果没有,则返回一个用户请求无效的出错信息。

(3)当ActionServlet请求找到用户请求的Action后,首先将用户输入的表单参数打包成一个ActionFrom对象,这个ActionFrom对象其实也就是一个JavaBean,里面包含两个字段,分别是用户名和密码。接着ActionServlet再根据struts-config.xml中的配置信息决定是否要执行ActionFrom对象中的Validate方法。若Validate方法执行有错,则返回。否则,继续下一步。

(4)系统生成一个用户所请求的Action的实例对象,将前面的ActionFrom对象传递给它,运行它的Execute()方法。这一步其实就是用户登陆的控制器,在执行exectue()方法时,可以调用后台模型验证登陆名和密码是否正确等信息。

(5)execute()执行结束前会生成ActionForward类型的对象并将之返回给ActionServlet

struts1的处理器

processMultipart()要是提交方式为post而且类型为Multipart则返回重新包装的HttpServletRequest对象

processPath()获取url路径以便选择struts Action组件

processLocale()把用户提交的Locale信息保存到session中

processContent()设置response.setContentType的值

processNoCache()设置报头Cache-Control Pragma Expires的值

processPreprocess()直接返回true子类可以覆盖该方法实现己的操作

processMapping()查找对应的ActionMapping不存在则返回错误信息

processRoles()判断对应的Action是否配置了安全角色用户是否有权限

processActionForm()查找ActionMapping是否配置ActionForm有则查找该实例不存在则创建

processPopulate()查找ActionMapping是否配置ActionForm有则调用reset方法清空再装载表单数据

processValidate()调用ActionForm的validate方法返回ActionErrors要是存在ActionMessage对象则验证失败

processForward()查找ActionMapping是否配置forward有则采用forward结束流程

processInclude()查找ActionMapping是否配置include有则采用include结束流程

processActionCreate()查找是否有对应的Action实例不存在则创建

processActionPerform()调用Action的execute方法

processForwardConfig()处理跳转

struts2的执行流程

1、客户端发起一个请求

2、主控器FilterDispatcher拦截请求.

3、主控器通过ActionMapper判断请求是否交给action

处理.如果是,那么判断请求的action是否存在,如果不存在,报404错误.如果不是交给action处理,那么将

请求转发给对应的web组件.

4、主控器创建ActionProxy对象,这个对象全权负责 action的执行.

5、ActionProxy通过ConfigurationManager对象获得当前访问的action的相关配置信息.

6、ActionProxy根据获得的action的配置信息,创建

ActionInvocation对象.

7、ActionInvocation对象负责执行action前面的拦截器

以及action对象,并且处理action执行后的结果.

8、action前面的拦截器被执行,最后执行action.

9、ActionInvocation得到action执行后的逻辑视图,根据逻辑视图找到物理视图,然后转发请求.

window.status是什么意思

window.status是浏览器的状态的值。在浏览器的菜单栏里点击“查看”,然后选择“工具栏”,在弹出来的菜单中勾选“状态栏”,这时候你就会在浏览器的底部看到状态栏,状态栏的左侧会可以出现一些信息(使用js:window.status=“状态栏显示这些文字”即可修改状态栏的值)。

这句代码是要弹出一个对话框,对话框中显示状态栏的文字信息。

关于java中status是什么到此分享完毕,希望能帮助到您。

长箫 长箫 云升java中类的特点是什么 在JAVA中什么是抽象类,它有什么特点