Java基础知识

1. 简述在程序开发中,JSP的运行原理

1.   web服务器上的jsp引擎将jsp文件转换成Java文件

2.  jsp引擎调用Java编辑器对Java文件进行编译

3.  Java虚拟机执行编译文件,并将结果返回给客户端

注:web服务器执行jsp的三个过程不是客户端每次请求一个jsp页面时都被执行的,当web服务器启动后,客户端第一次请求一个jsp页面时,需要完全执行上述三个过程,此后servlet的代码便驻留在内存中,因此当客户端再次请求这个jsp页面

2.  请列举JSP作用域相关的隐式对象,并说明其含义以及作用

作用域是相对隐式对象来看的,

.application是全应用程序域

Request只在请求提交时存在请求没结束后销毁

Response只在服务器响应请求的过程中存在

Page只在当前页面存在

3.  JAVA中常用的访问修饰符有哪些,并说明其作用范围

访问权限  类  包  子类  其他包

Public     √ √  √     √

Protected   √ √  √     ×

默认       √  √   ×     ×

Private   √  ×   ×   ×

Public 用于所有类

Private 只能在本类中调用

Protected 在同一包中有继承关系的父子类可调用

default 只能被同一包中类访问

4.  请说明JAVA中线程的创建方式有哪些,并简要说明创建和启动过程

1.继承thread类创建线程类

定义thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务,因此把run方法成为执行体

创建thread子类的实例,即创建了线程的对象

调用线程的start方法来启动线程

2.通过runnable接口创建线程类

定义runnable接口的实现类,并重写该接口的run方法,该run方法的方法体同样是该线程的线程执行体

创建runnable的实现类实例,并依次实例作为thread和target来创建thread对象,该thread对象才是真正的线程对象调用该线程对象的start方法来启动线程

 

5.解释HTTP请求中get与post方式的区别

(1)get是从服务器上获取数据,post是向服务器传送数据

   (2)在客户端,get方式在通过URL提交数据,数据可以在URL中看到;post方式,数据放置在HTML header内提交,数据看不到

   (3)对于get方式,服务器端用Request.QueryString获取变量的值;对于post方式,服务器端用Request.Form获取提交的数据

   (4)get方式提交的数据最多只能有1024个字节,而post没有限制

   (5)安全性问题。因为get提交的时候数据可以看到,所有post比较安全

6. 请说明跳转方式中转发(forword)和重定向(redirect)的区别

重定向的功能是将用户从当前页面或servlet重定向到另一个页面或servlet;转发的功能是将用户对当前jsp页面或servlet对象的请求转发给另一个jsp界面或servlet对象。

( 1 ) 从地址栏显示来说

转发后用户在地址栏不能看到forward方法转发的页面或servlet的地址。只能看到该界面或servlet的地址。

(2)从数据共享来说

       Forword:转发页面和转发到的页面可以共享request里面的数据

       Redirect:不能共享数据

  (3)从运用地方来说

       Forword:一般用于用户登陆的时候,根据角色转发到相应的模块

       Redirect:一般用于用户注销登陆时返回主页面和跳转到其他的网站等。

  (4)从效率来说

       Forword:高

       Redirect:低

7. 请说明request对象的常用方法,以及方法的作用

Request对象的主要方法:

   .setAttribute(Stringname,object):设置名字为name的request的参数值

  .getAttribute(String name):返回由name指定的属性值

   getParameter(String name) :获得客户端传送给服务器端的有 name指定的参数值 

   getParameterValues(String name):获得有name指定的参数的所有值 (即返回的值是多个的时候用这个)

8. 请解释getAttrbutegetParameter方法的区别

1. getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得。设置与取得的为object类型       getParameter表示接收参数,参数为页面提交的参数,包括表单提交的参数、url重写传的参数,取得的参数是String类型

2.当两个web组件之间为 链接关系时,被链接的组件通过getParameter方法来获得请求参数

3.当两个web组件为转发关系时,转发目标组件通过getAttribute方法来转发源组件共享request范围内的数据

4. getParameter方法传递的数据,会从web客户端传到web服务器端,代表HTTP请求数据

5setAttribute方法和getAttribute方法传递的数据只会存在于web容器内部,在具有转发关系的web组件之间共享

9. 请列举常用的集合操作类,并说明他们的使用场合

1.  最常用的集合类是List和Map。List的具体实现包括ArrayList和Vector,他们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表,List使用与按索引访问元素的情况。

Map提供了一个更通用的元素存储方法,map集合类用于存储元素对(键值对)其中每个键映射一个值。

10. 请列举读写文本文件和二进制文件的流对象有那些,并简要说明文本文件使用BuffereaderBufferedWriter完成读写的过程

  读写文本文件:FileInputStream 文件输入流

                FileOutputStream 文件输出流

               BufferReader:读写文本文件

               BufferWriter:写文本文件

  读写二进制文件:DataInputStream:读二进制文件

                  DataOutputStream:写二进制文件

11. 请说出JAVA访问数据库,并执行查询语句的过程

1.  加载jdbc驱动程序

2.  提供jdbc连接的url

3.  创建数据库的连接

4.  创建一个Statement

5.  执行sql语句

6.  处理结果

7.关闭jdbc对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值