中科软2016笔试题总结(待编辑)

一、JAVA


一、运行时异常和一般异常的区别?

运行时异常:
1、是虚拟机运行过程中遇到的“系统级”问题
2、这些问题在很多地方都能发生,比如ClassNotFound,所以没法去一一要求程序员捕获
非运行时异常,又叫错误:
1、是Java的类库或是程序员自己写的代码发生的异常
2、这些异常是类的开发者预期发生而且主动检测、抛出的,只在特定的位置、时机发生,是要求使用者捕获、处理的。比如IOException,那就是Java的I/O库写代码的时候主动判断文件是否存在等现象,发生现象的时候主动抛出来的,而我们用的时候也要处理它。

 

二、java语言如何进行异常处理?

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。

用try来指定一块预防所有异常的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的异常的类型。

throw语句用来明确地抛出一个异常。

throws用来标明一个成员函数可能抛出的各种异常。

可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,异常的框架就放到堆栈上面,直到所有的try语句都完成。

 

 

 

三、说明类和对象实例之间的关系,并说明静态变量和实例变量的区别和使用它们的场景

类可以理解为一种类型,比如你定义了一种类型叫“中国人”;
对象可以理解为类中的具体的实例,“你”就是“中国人”中实实在在的一个对象,也就是说给类中的各个属性赋予了某一个特定的值,比如:姓名,年龄,身份证号,这样一个抽象的“中国人”就实例化成一个具体的实实在在存在的“人”了。

静态变量属于类,不用实例化就已经存在,所有的实例共享同一个静态变量,可以通过类名和实例名来访问。实例变量属于实例,每个实例都有自己的这个变量,只能通过实例名来访问。

 

四、是否可以从一个static方法内部发出对非static方法的调用

不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象, 可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用, 那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。

五、WEB开发

一、描述J2EE BS系统的目录结构,Web.xml的作用是什么

J2EE 典型的四层结构:运行在客户端机器上的客户层组件;运行在J2EE服务器上的Web层组件;运行在J2EE服务器上的业务逻辑层组件;运行在EIS服务器上的企业信息系统(Enterprise information system)层软件。

 

每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 

一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 


web.xml文件是用来初始化配置信息:比如Welcome页面、servletservlet-mappingfilterlistener、启动加载级别等。

当你的web工程没用到这些时,你可以不用web.xml文件来配置你的Application。 


每个xml文件都有定义它书写规则的Schema文件,也就是说javaEE的定义web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为中,必须标明这个web.xml使用的是哪个模式文件。如: 
 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
 

    web.xml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着web.mxl模式文件的版本升级,里面定义的功能会越来越 复杂,标签元素的种类肯定也会越来越多,但有些不是很常用的,我们只需记住一些常用的并知道怎么配置就可以了。 


下面列出web.xml我们常用的一些标签元素及其功能: 

1、指定欢迎页面,例如: 
 
   
    index.jsp 
    index1.jsp 
  
 
PS:指定了2个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。如果第一个不存在,就找第二个,以此类推。 

关于欢迎页面: 

    访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在web.xml中指定欢迎页。但 web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的。只不过网站的功能复杂起来后,web.xml的确有非常大用 处,所以,默认创建的动态web工程在WEB-INF文件夹下面都有一个web.xml文件。 


2、命名与定制URL。我们可以为ServletJSP文件命名并定制URL,其中定制URL是依赖命名的,命名必须在定制URL前。下面拿serlet来举例: 
(1)、为Servlet命名: 
 
    servlet1 
    org.whatisjava.TestServlet 
 

(2)、为Servlet定制URL、 
 
    servlet1 
    *.do 
 



3、定制初始化参数:可以定制servletJSPContext的初始化参数,然后可以再servletJSPContext中获取这些参数值。 

下面用servlet来举例: 
 
    servlet1 
    org.whatisjava.TestServlet 
     
          userName 
          Daniel 
    
 
     
          E-mail 
          [email protected] 
    
 
 
经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。 



4、指定错误处理页面,可以通过异常类型错误码来指定错误处理页面。 
 
    404 
    /error404.jsp 
 
----------------------------- 
 
    java.lang.Exception 
    /exception.jsp 
 



5、设置过滤器:比如设置一个编码过滤器,过滤所有资源 
 
    XXXCharaSetFilter 
    net.test.CharSetFilter 
 
 
    XXXCharaSetFilter 
    /* 
 



6、设置监听器: 
 
net.test.XXXLisenet 
 



7、设置会话(Session)过期时间,其中时间以分钟为单位,假如设置60分钟超时: 
 
60 
 


除了这些标签元素之外,还可以往web.xml中添加很多标签元素,由于不常用省略。

 

 

二、Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符?

(< > & “”)——这个不会,会的哥们留下答案

三、写出你常用的关于Web安全性考虑的几方面

sec.chinabyte.com/34/13164034.shtml 

防止sql注入、防止窗体和脚本泄密、Cookies和会话管理

四、表单提交中Get和Post方式的区别,forward 和redirect的区别?

表单提交中get和post方式的区别有5点 
1.get是从服务器上获取数据,post是向服务器传送数据。 
2.get是把参数数据 队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各 个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 
4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 
5.get安全性非常低,post安全性较高。

forward是你打电话问同事,明天上班不?你经理就在你同事身边,所以电话没挂,同事问了经理然后告诉你,明天是要上班。
redirect你问同事,明天上班不?你同事他也不知道,但他告诉了你们经理的电话,让你打电话问经理,然后你就得挂电话,重新打个电话给你经理。

http://blog.csdn.net/john2522/article/details/7438799

 

 

五、Jsp有哪些内置对象,作用分别是什么?

JSP共有以下9种基本内置组件 

1、request对象 客户端请求,此请求会包含来自GET/POST请求的参数通过它才能了解到客户的需求,然后做出响应。 

2、response对象 响应客户请求的有关信息

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

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

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

6、application对象 它实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭 

7、exception对象 它是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。

8、pageContext对象 它提供了对JSP页面内所有的对象及名字空间的访问

9、config对象 它是在一个Servlet初始化时,JSP引擎向它传递信息用的

 

 

六、开源框架和设计模式

一、请解释mvc和struts的关系,简要讲解如何应用Struts进行开发?说明Struts的几种常用标签及他们的作用

MVC是一种软件开发的架构,M指的是业务处理模型,也就是业务处理层;V指的是视图,也就是展示层;C指的是控制,也就是完成展示层和模型层之间的转接控制
struts是一种mvc架构的实现框架,为开发者提供方便的mvc使用

 

网址:

http://wenku.baidu.com/link?url=HvAaLi18q8WwH3BTBhngnEl6crSZrylZF-vZryeU1QhCVg4hUwpwaMp7Z9WX5q5VQqM09YCtjlvNFDHKOOaycwPyUCaLMQIlkVqVNTLd6ri

二、Hibernate为什么提供了延迟加载?起什么作用?数据库有没有提供相应的延迟加载功能,hibernate是如何配置实现延迟加载的?

 

 

三、为什么使用Ajax?Ajax主要用在哪些地方?使用Ajax的缺点是什么?

 

七、数据库

你可能感兴趣的:(中科软2016笔试题总结(待编辑))