第一部分:选择题
QUESTION NO: 1
1、public class Test {
    public static void changeStr(String str){
        str="welcome";
    }
    public static void main(String[] args) {
        String str="1234";
        changeStr(str);
        System.out.println(str);
    }
}
Please write the output result :QUESTION NO:2
1. public class Test {
2. static boolean foo(char c) {
3. System.out.print(c);
4. return true;
5. }
6. public static void main( String[] argv ) {
7. int i =0;
8. for ( foo('A'); foo('B')&&(i<2); foo('C')){
9. i++ ;
10. foo('D');
12. }
13. }
14. }
What is the result?
A. ABDCBDCB
B. ABCDABCD
C. Compilation fails.
D. An exception is thrown at runtime.QUESTION NO: 3
1. class A {
2. protected int method1(int a, int b) { return 0; }
3. }
Which two are valid in a class that extends class A? (Choose two)
A. public int method1(int a, int b) { return 0; }
B. private int method1(int a, int b) { return 0; }
C. private int method1(int a, long b) { return 0; }
D. public short method1(int a, int b) { return 0; }
E. static protected int method1(int a, int b) { return 0; }QUESTION NO: 4
1. public class Outer{
2. public void someOuterMethod() {
3. // Line 3
4. }
5. public class Inner{}
6. public static void main( String[]argv ) {
7. Outer o = new Outer();
8. // Line 8
9. }
10. }
Which instantiates an instance of Inner?
A. new Inner(); // At line 3
B. new Inner(); // At line 8
C. new o.Inner(); // At line 8
D. new Outer.Inner(); // At line 8//new Outer().new Inner()QUESTION NO: 5
Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?
A. The encodeURL method of the HttpServletRequest interface.
B. The encodeURL method of the HttpServletResponse interface.
C. The rewriteURL method of the HttpServletRequest interface.
D. The rewriteURL method of the HttpServletResponse interface.QUESTION NO: 6
Which two are equivalent? (Choose two)
A. <%= YoshiBean.size%>
B. <%= YoshiBean.getSize()%>
C. <%= YoshiBean.getProperty("size")%>
D. <jsp:getProperty id="YoshiBean" param="size"/>
E. <jsp:getProperty name="YoshiBean" param="size"/>
F. <jsp:getProperty id="YoshiBean" property="size"/>
G. <jsp:getProperty name="YoshiBean" property="size"/>QUESTION NO: 7
Which of the following statements regarding the lifecycle of a session bean are correct? 
1.  java.lang.IllegalStateException is thrown if SessionContext.getEJBObject() is invoked when a stateful session bean instance is passivated. 
2.  SessionContext.getRollbackOnly() does not throw an exception when a session bean with bean-managed transaction demarcation is activated. 
3.  An exception is not thrown when SessionContext.getUserTransaction() is called in the afterBegin method of a bean with container-managed transactions. 
4.  JNDI access to java:comp/env is permitted in all the SessionSynchronization methods of a stateful session bean with container-managed transaction demarcation. 
5.  Accessing resource managers in the SessionSynchronization.afterBegin method of a stateful session bean with bean-managed transaction does not throw an exception.
第二部分:概念题
1.    描述Struts体系结构?对应各个部分的开发工作主要包括哪些?2.    XML包括哪些解释技术,区别是什么?
3.    JSP有哪些内置对象和动作?它们的作用分别是什么?
4、SQL问答题
SELECT * FROM TABLE

SELECT * FROM TABLE 
WHERE NAME LIKE '%%' AND ADDR LIKE '%%' 
AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%' 
OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' ) 
的检索结果为何不同?5、SQL问答题
表结构:
1、    表名:g_cardapply
字段(字段名/类型/长度):
g_applyno        varchar   8;//申请单号(关键字)
g_applydate     bigint     8;//申请日期
g_state        varchar     2;//申请状态
2、    表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno        varchar     8;//申请单号(关键字)
g_name        varchar     30;//申请人姓名
g_idcard        varchar     18;//申请人身份证号
g_state        varchar     2;//申请状态
其中,两个表的关联字段为申请单号。
题目:
1、    查询身份证号码为440401430103082的申请日期
2、    查询同一个身份证号码有两条以上记录的身份证号码及记录个数
3、    将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
4、    删除g_cardapplydetail表中所有姓李的记录

解决方案 »

  1.   

    对,第一个题 你能讲一下你的思路吗?zuguanqun(小群)
      

  2.   

    其实第一题,把String 换成int ..我想99%的人都不会做错..
    Sting只是迷惑你..
    在java 中,所有的参数传递都是值传递!!!!!!!!!!!!!!!!!!!!!
      

  3.   

    public class Test {
        public static void changeStr(String str){
            str="welcome";
        }
        public static void main(String[] args) {
            String str="1234";
            changeStr(str);
            System.out.println(str);
        }
    }
    这一题我想他主要考查 static这个关键字,changestr是个静态的方法(类方法)那么str应该也是一个静态成员,所有的对象都是公用这样的一个成员,那么对他的修改应该是可以保持的。而为什么最后的结果却是初始值1234,我有点迷惑。
      

  4.   

    public class Test {
        public static void changeStr(String str){
            str="welcome";
        }
        public static void main(String[] args) {
            String str="1234";
            changeStr(str);
            System.out.println(str);
        }
    }
    这一题我想他主要考查 static这个关键字,changestr是个静态的方法(类方法)那么str应该也是一个静态成员,所有的对象都是公用这样的一个成员,那么对他的修改应该是可以保持的。而为什么最后的结果却是初始值1234,我有点迷惑。
      

  5.   

    那个方法只所以是static.是因为要在main方法里面调用.跟这个没关系
      

  6.   

    说的有道理,
    coolmomo(momo)老兄能不能跟我讲一下值传递的工作机制。结合这个题目。谢了
      

  7.   

    只要记住java里面所有的参数传递都是值传递.就行啦
      

  8.   

    to coolmomo(momo)
    我刚刚在找资料时又碰到这样一个问题。关于值传的。不解
    class Test
    {
    public static void main(String args[])
    {
    int val;
    StringBuffer sb1, sb2;val = 10;
    sb1 = new StringBuffer("apples");
    sb2 = new StringBuffer("pears");
    System.out.println("val is " + val);
    System.out.println("sb1 is " + sb1);
    System.out.println("sb2 is " + sb2);
    System.out.println("");System.out.println("calling modify");
    //按值传递所有参数
    modify(val, sb1, sb2);
    System.out.println("returned from modify");
    System.out.println("");System.out.println("val is " + val);
    System.out.println("sb1 is " + sb1);
    System.out.println("sb2 is " + sb2);
    }public static void modify(int a, StringBuffer r1,
    StringBuffer r2)
    {
    System.out.println("in modify...");
    a = 0;
    r1 = null; //1
    r2.append(" taste good");
    System.out.println("a is " + a);
    System.out.println("r1 is " + r1);
    System.out.println("r2 is " + r2);
    }
    }
    这段代码的输出为:清单 4:Java 应用程序的输出val is 10
    sb1 is apples
    sb2 is pearscalling modify
    in modify...
    a is 0
    r1 is null
    r2 is pears taste good
    returned from modifyval is 10
    sb1 is apples
    sb2 is pears taste good//问题出在这
    既然是值传递,在函数中都是对副本进行修改,那么最后输出的不和sb1一样没有改变,而保存了对sb2的修改。
      

  9.   

    我想大家都知道StringBuffer str = new StringBuffer("XXXXx");
    其实新建了两个对象.new是动态的申请内存地址.而str这段内存空间的引用.
    在上面那个例子,仍然是值传递.只不过它传递的是一个句柄.
    参数接收后,两个句柄同指向一块内存单元.
      

  10.   

    楼上说的很对,推荐看一下http://www.zdnet.com.cn/developer/code/story/0,2000081534,39214594,00.htm
      

  11.   

    1、    表名:g_cardapply
    字段(字段名/类型/长度):
    g_applyno        varchar   8;//申请单号(关键字)
    g_applydate     bigint     8;//申请日期
    g_state        varchar     2;//申请状态
    2、    表名:g_cardapplydetail
    字段(字段名/类型/长度):
    g_applyno        varchar     8;//申请单号(关键字)
    g_name        varchar     30;//申请人姓名
    g_idcard        varchar     18;//申请人身份证号
    g_state        varchar     2;//申请状态
    其中,两个表的关联字段为申请单号。
    题目:
    1、    查询身份证号码为440401430103082的申请日期
    2、    查询同一个身份证号码有两条以上记录的身份证号码及记录个数
    3、    将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
    4、    删除g_cardapplydetail表中所有姓李的记录select g_idcard ,count(g_applyno)
    from g_cardapplydetail
    group by g_idcard
    having count(g_applyno)>2
      

  12.   

    QUESTION NO: 3
    A,C
      
      

  13.   

    Q1:1234
    Q2:A
    Q3:AC
    Q4:A
    Q5:B
    Q6:BG
    Q7:EJB 不会
      

  14.   

    1.    描述Struts体系结构?对应各个部分的开发工作主要包括哪些?
    Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。
    Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。开发主要工作有四个部分:
    1)视图:主要由JSP建立,Struts自身包含了一组可扩展的自定义标签库(Tag1 ib),可以简化创建用户界面的过程。
    2)模型:模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomForm Bean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。
    3)控制器:控制器主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。
    4)配置文件struts-config.xml:当ActionServlet接收HTTP请求信息时,如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中.这些配置映射信息都存储在特定的XML 文件Struts—config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。
    2. XML包括哪些解释技术,区别是什么?
    SAX DOM JDOM DOM4J SAX 是轻量级的,而且是事件驱动的。SAX并不需要在内存中维护整个文档。SAX的主要缺点在于,你要在逐标记的层次上进行操作,而且无法从解析器获得帮助来维护上下文。
    DOM 是文档驱动的 ,将XML文档解析为一个完全驻留于内存的表示 。
    JDOM和DOM4J  是简单的JAVA DOM API ,dom4j 和jdom类似, 采用dom4j自己的解析器,功能不是很全,但是速度很快。3. JSP有哪些内置对象和动作?它们的作用分别是什么
       JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 
      request 用户端请求,此请求会包含来自GET/POST请求的参数 
       response 网页传回用户端的回应 
       pageContext 网页的属性是在这里管理 
       session 与请求有关的会话期 
       application servlet 正在执行的内容 
       out 用来传送回应的输出
       config servlet的构架部件 
       page JSP网页本身 
       exception 针对错误网页,未捕捉的例外 
       
    4、SQL问答题
    SELECT * FROM TABLE

    SELECT * FROM TABLE 
    WHERE NAME LIKE '%%' AND ADDR LIKE '%%' 
    AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%' 
    OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' ) 
    的检索结果为何不同?第一句选择的是TABLE 中所有记录集合
    第二句选择的是TABLE 中满足NAME ,ADDR 非NULL 而且1_ADDR ,2_ADDR,3_ADDR, 4_ADDR 中有一个非NULL的记录集合
    5、SQL问答题
    表结构:
    1、    表名:g_cardapply
    字段(字段名/类型/长度):
    g_applyno        varchar   8;//申请单号(关键字)
    g_applydate     bigint     8;//申请日期
    g_state        varchar     2;//申请状态
    2、    表名:g_cardapplydetail
    字段(字段名/类型/长度):
    g_applyno        varchar     8;//申请单号(关键字)
    g_name        varchar     30;//申请人姓名
    g_idcard        varchar     18;//申请人身份证号
    g_state        varchar     2;//申请状态
    其中,两个表的关联字段为申请单号。
    题目:
    1、    查询身份证号码为440401430103082的申请日期
       select g1.g_applydate from g_cardapply g1, g_cardapplydetail g2 where g1.g_applyno=g2.g_applyno and g2.g_idcard='440401430103082'; 
    2、    查询同一个身份证号码有两条以上记录的身份证号码及记录个数
       select * from (select g_idcard,count(*) as cnt from g_cardapplydetail group by g_idcard) as g where cnt>1
    3、    将身份证号码为440401430103082的记录在两个表中的申请状态均改为07
       update g_cardapplydetail set g_state='07' where g_idcard='440401430103082';
       update g_cardapply set g_state='07' where g_applyno in (select g_applyno from g_cardapplydetail where g_idcard='440401430103082')
    4、    删除g_cardapplydetail表中所有姓李的记录
       delete from g_cardapplydetail where g_name like '李%';
      

  15.   

    waterborn(WaterBorn)在上面给出的答案有很多题都答得有问题。就说说最后四道题就有两道是错的。
    第二道,为什么不用分组查询而是用子查询?假如我有100万条记录,那么像waterborn(WaterBorn)这种写法最少也要遍历200万条记录.如果用分组查询的话只需要遍历100万条记录就可以了.完全没有考虑效率问题.所以这道题waterborn(WaterBorn)就拿不到分了.第四道题就错的更加离谱了.还是假如我有100万条记录在g_cardapplydetail这张表里面.像waterborn(WaterBorn)直接把g_cardapplydetail表里的记录给删掉了,那请问g_cardapply表里的那100万条记录你怎么去处理呀?读者该不会说它也没说g_cardapply里也有对应的100万条记录呀!(如果有人这么问了,我的回答是那你前三道题还怎么做?).最后一道题的真确处理方法是先把g_cardapply表的字段删掉然后在删g_cardapplydetail表.
      

  16.   

    delete from g_cardapply where g_cardapply.g_applyno = (select g_applyno from g_cardapplydetail where g_name like '李%');
     
    delete from g_cardapplydetail where g_name like '李%';
      

  17.   

    我和楼上没有仇 。 
    我只是贴出我的答案, 对错,会有人讨论和纠正。 
    对于楼上的回答 
    你只是个混混,
    第二道 ,分组查询   group by 
    第四题,题目只说删除g_cardapplydetail表 。 
    好比对于你这种人说,告诉你吃饭,你会怎么做呢?又吃饭,又去吃S.
      

  18.   

    songxin19811225(haha):
    delete from g_cardapply where g_cardapply.g_applyno = (select g_applyno from g_cardapplydetail where g_name like '李%');(select g_applyno from g_cardapplydetail where g_name like '李%') 返回值可能>1 rows用等号 肯定会出错的。
    要写也是这样:
    delete from g_cardapply where g_cardapply.g_applyno in (select distinct g_applyno from g_cardapplydetail where g_name like '李%');
      

  19.   

    回答第一题:
    1、public class Test {
        public static void changeStr(String str){
            str="welcome";
        }
        public static void main(String[] args) {
            String str="1234";
            changeStr(str);
            System.out.println(str);
        }
    }
    Please write the output result :
                    String str="1234";回为它是局部变量
                             
      

  20.   

    呵呵,没有看明白。看看这个吧:
    http://blog.csdn.net/CXXSoft/archive/2006/08/04/1019656.aspx