ava超全笔试题
二、简述HttpSession的作用,使用方法,可以用代码说明。
HttpSession session = request.getSession();
session.setAttribute("name", new Date());
Date date = (Date)session.getAttribute("name");
答:HttpSession中可以跟踪并储存用户信息,把值设置到属性中,有2个方法:setAttribute(),getAttrribute();
例如:在一个方法中用session.setAttribute(“student”,student);在session中设置一个属性名为student,值为一个名为student的对象。而后可在同一session范围内用getAttribute(“student”)取出该属性,得到student对象。
三、简述Servlet请求时GET方法和POST方法的区别。
(1)GET:把Form的数据封装到请求行里URL后边,在浏览器地址栏能看见。
例如:/servlet/examples.HelloServlet?name=2p&password=123
POST:把Form的数据封装到请求体里,在浏览器地址栏看不见。
(2)GET:Form缺省方法;Form的方法设成GET;超级连接;浏览器地址栏直接输入。
POST:Form的方法设成POST。
(3)编写Servlet时重写doGet(只支持GET请求)或doPost(只支持POST请求)。
四、请列出<jsp:useBean...>标签中scope属性的候选值,并说明各候选值的存取范围。
<jsp:useBean id = 'beanName' class = 'BeanClassName' scope = ' '>
<jsp:setProperty name = 'beanName' property = ' '>
......
</jsp:useBean>
page、request、session、application
BeanClassName beanName = (BeanClassName)session.getAttribute("beanName");
if (beanName == null) { beanName = new BeanClassName();
beanName.setXXX();
}
六、清画出Servlet2.2以上Web Application的基本目录结构。
J2EE1.2:JSP1.1 Servlet2.2
J2EE1.3:JSP1.2 Servlet2.3 EJB2.0
J2EE1.4:JSP2.0 Servlet2.4 EJB3.0
部署结构:
\myWeb-----\WEB—INF-----web.xml
|-----\classes\包\*.class
|-----\lib\*.jar
归档:*.war
开发结构:
\myWeb-----\src-----*.java
|-----\etc-----web.xml, *.tld
|-----\lib-----*.jar
|-----\web-----*.jsp, *.html, *.jpg
部署:三个拷贝,一个编译
七、谈谈你对三层结构的理解。
浏览器——Web服务器(MVC)——数据库。(扩展画图)
八、名次解释。
a) JMS(Java消息服务),做消息处理。
b) DOM(文档对象模型),用来解析XML。
c) MVC(Model—View—Controller),分离表现逻辑、业务逻辑和数据。
d) JNDI(Java命名和目录接口),提供名字服务。
e) LDAP(轻量级目录访问协议),提供数据的存储方式。
f) EJB(企业级Java Bean),作为Model,可以封装数据(实体Bean),也可以表示业务功能(会话Bean),作为Model,可以处理消息(MDB)。
g) UML(统一建模语言),提供画图的规范。Rose,Visio。
h) DTD(文档类型定义),规定XML文件的格式。
i) XML(可扩展的标记语言)。
j) JAXP(解析XML的Java API).
k) RMI(远程方法调用),在一个机器上使用另一个机器上创建的对象。
l) SOAP(简单对象访问协议),用在WebService中。
九、程序设计,写出一个Servlet,实现以下功能,通过表单提取一个"ds"的参数(该参数代表一个可用的数据源),通过该参数获得一个可用的数据连接。
import javax.sql.*;
public class MyServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{
String ds = request.getParemeter("ds");
Context initial = new InitialContext();
DataSource dss = (DataSource)initial.lookup(ds);
Connection conn = dss.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select a, b, from mytable");
while(rs.next()){
rs.getXXX();
}
}
J2EE面试题集锦(附答案)
一、基础问答
JAVA编程题
1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
[hidden]import java.util.*;
public class bycomma{
public static String[] splitStringByComma(String source){
if(source==null||source.trim().equals(""))
return null;
StringTokenizer commaToker = new StringTokenizer(source,",");
String[] result = new String[commaToker.countTokens()];
int i=0;
while(commaToker.hasMoreTokens()){
result = commaToker.nextToken();
i++;
}
return result;
}
public static void main(String args[]){
String[] s = splitStringByComma("5,8,7,4,3,9,1");
int[] ii = new int[s.length];
for(int i = 0;i ii =Integer.parseInt(s);
}
Arrays.sort(ii);
//asc
for(int i=0;i System.out.println(ii);
}
//desc
for(int i=(s.length-1);i>=0;i--){
System.out.println(ii);
}
}
}[/hidden]
38 Hashtable和HashMap
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许
还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
=================================================
一些著名的大公司面试题目往往很基础.
一、Java基础知识
2. 字符串的操作:
写一个方法,实现字符串的反转,如:输入abc,输出cba
public static String reverse(String s){
int length=s.length();
StringBuffer result=new StringBuffer(length);
for(int i=length-1;i>=0;i--)
result.append(s.charAt(i));
return result.toString();
}
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
4. 日期和时间
如何取得年月日,小时分秒
Date dat=new Date();
dat.getYear();dat.getMonth();dat.getDay();dat.getHours();…
如何取得从1970年到现在的毫秒数
long now=dat.getTime();
如何获取某个日期是当月的最后一天
如何格式化日期
DateFormate df=DateFormate.getInstance();
df.Format(dat);
7. Java多态的实现(继承、重载、覆盖)
8. 编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
二、JSP&Servlet技术
1. 描述JSP和Servlet的区别、共同点、各自应用的范围
2. 在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & "")
3. 在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。
4. 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。
5. 列出Jsp中包含外部文件的方式,两者有何区别。
6. 说明Jsp中errorPage的作用,应用范围。
7. 介绍在Jsp中如何使用JavaBeans。
8. 简单介绍JSP的标记库
三、J2EE相关知识
1. 介绍J2EE、J2SE、J2SE的区别。
2. J2EE是一种技术还是一种平台,他提供了那些技术。
3. 什么是Application Server,它有什么功能和优点。
4. 简单介绍连接池的优点和原理。
5. Web.xml的作用
四、其他
1. Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)
2. 简单介绍您所了解的MVC。
3. 简单介绍所了解的XML。
4. 文档和编码规范
5. Java中的分页、效率考虑。
6. 简单介绍您所了解的structs。
找出以下程序错误。
Class Test{
private String par1;
private String par2;
Test(){
}
public static void main(String[] arg){
int a ;
if(a){
System.out.println("par1="+par1);
}else{
System.out.println("par2=" + par2);
}
}
}
================================== |
|