20150323-java之杂学

1、html与xml有什么区别
(1) XML是被设计用来描述数据的,存储数据,HTML是被设计用来显示数据的
(2)XML可以视作对HTML的补充
(3) 与 HTML 不同,XML 标记由架构或文档的作者定义,并且是无限制的。HTML 标记则是预定义的;HTML 作者只能使用当前 HTML 标准所支持的标记

2、Jsp四大作用域
page,request,session,application
1、page里的变量  只要页面跳转了,它们就不见了 。如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。
2、request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了。如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。
所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量。
3、session和application里的变量一直在累加,开始还看不出区别,只要关闭浏览器,再次重启浏览器访问这页,session里的变量就重新计算了。
如果把变量放到session里,就说明它的作用域是session, 它的有效范围是当前会话
所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话的所有请求里使用。
4、application里的变量一直在累加, 除非你重启tomcat,否则它会一直变大 。如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。
整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”,是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。

3、Jsp九大内置对象
1.request对象(作用域) 

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 

2.response对象

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。 

3.session对象(作用域) 

session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例. 

4.out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象 

5.page对象(作用域)

page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例 

6.application对象(作用域)  

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。  

7.exception对象 

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象 

8.pageContext对象 

pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。 

9.config对象 

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象) 


4、方法重写 override
//override
//重写是父子类之间同名方法的关系
//满足的条件:
//1.方法名相同,参数签名相同
//2.子类不允许抛出比父类更大的异常
//3.方法的访问修饰符不允许缩小

5、instanceof
boolean result = object instanceof class                它的作用是判断其左边对象是否为其右边类的实例

6、抽象类
abstract

//1.当一个类中出现抽象方法,这个类一定是抽象类
//2.当一个类是抽象类,其中不一定有抽象方法
//3.当子类继承一个抽象类,一定要实现其中所有的抽象方法,否则子类也是抽象的
//4.抽象类不能实例化,但允许拥有构造方法

7、接口

//1.接口是标准、规范

//2.接口是抽象的最高境界

//3.一个类如果实现接口,则必须实现接口中的所有方法,否则这个类是抽象类

//4.接口不可以实例化

//5.接口中的变量都是常量


8、修饰符

 java中的修饰符分为类修饰符,字段修饰符,方法修饰符。

 1、权限访问修饰符 
    public > protected > default > private,这四种级别的修饰符都可以用来修饰类、方法和字段。 

              包外         子类          包内           类内 
public      yes        yes          yes         yes 
protected   no         yes          yes         yes 
default     no         no           yes         yes 
private     no         no           no          yes 


    2、final修饰符 
    final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。 
     3、abstract修饰符 
     abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。 
     4、static修饰符 
     static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。



9、 类类型,指向子类对象。调用实例方法是子类的方法,调用实例变量是父类的变量


10、Servlet生命周期

 - 实例化 : 一般情况下,第一个客户端请求时,容器创建对应Servlet实例

 - 初始化 : 创建实例后,容器会自动的调用init方法对Servlet实例进行初始化

 - 服务     : 用户发出请求,容器会调用service方法进行服务(service方法内部根据客户端请求方式的不同,会内部调用doGet、doPost等方法进行响应)

 - 销毁     : 当容器销毁时,通过调用destroy方法销毁对应的servlet实例,


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值