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); 
        } 
    } 
} 
================================== |   
        
 
    
    
    
     
 
 |