首先说明,我很熟悉ASP.可是对JSP简直一窍不通。
近来上头安排个工作,经理说JSP和ASP差不多,要我学习一下。不敢说不会。硬着头皮接下来了。
这可真是头晕了……虽然很多语句看起来很相像,可是很多东西不同,就下面这个简单的测试页面,我都不太明白它是如何连接数据库的?以及它从哪个表调出数据的?请前辈指教~~<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<HTML>
<HEAD>
<TITLE>首页 </TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
</HEAD>
<BODY LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td> <jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/>
<marquee direction=right scrollamount=3 onmouseover=this.stop() onmouseout=this.start()>
<table border="0" cellspacing="5" cellpadding="0">
<tr>
<%
    ResultSet rs=info.getRs2();
    String tem="";
    while(rs!=null && rs.next()){
        tem=rs.getString("img_url");
        if(tem.length()>8){
        %>
        <td> <a href="../source/img/ <%=tem%>" target="_blank"> <img src="../source/img/ <%=tem%>" border="0" width="150"> </a> </td>
    <%
        }
    }
    if(rs!=null)
        rs.close();
    info.getClose();
    %> </tr>
</table>
</td>
</tr>
</table>
代码没一个包含文件用来连接数据库,但很明显ResultSet rs=info.getRs2();这句绝对是读取了数据库,但是读取的是哪个表的?然后就是这句 <jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/>,是干嘛用的?麻烦前辈指点,急死我了~~

解决方案 »

  1.   

    兄弟我觉得你干这活要费点气力
    <jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/>是一个javabean给你一个例子<%!private void tree(List<Article> articles, Connection conn, int id, int grade) {
    String sql = "select * from article where pid = " + id;
    Statement stmt = DB.createStmt(conn);
    ResultSet rs = DB.executeQuery(stmt, sql);
    try {
    while (rs.next()) {
    Article a = new Article();
    a.initFromRs(rs);
    a.setGrade(grade);
    articles.add(a);
    if (!a.isLeaf()) {
    tree(articles, conn, a.getId(), grade + 1);
    }
    }
    } catch (SQLException e) {
    e.printStackTrace();
    } finally {
    DB.close(rs);
    DB.close(stmt);
    }
    }%>
      

  2.   

    info是一个JAVABEAN,<jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/>这句话把结果集传进来的
      

  3.   

    <jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/>
    info是nfjd.admin.Img类的一个实例,nfjd.admin.Img类里面有一个getRs2();方法
    所以 ResultSet rs=info.getRs2(); 结果集就拿到了,这么说懂了吧?
      

  4.   


    我有点明白了,但是我去哪找到这个nfjd.admin.Img在哪呢?因为我想知道它读取的是哪个表的数据。我才好跟着修改。
    谢谢你的指教
      

  5.   

    jsp都忘光了 不想再学了 帮不了你!  
      

  6.   

    建议有时间花两天看看JAVA基础
      

  7.   

    Img.class文件在WEB-INF/classes/nfjd/admin/
    源码一般在src文件夹下的
      

  8.   

    javaBean 里写了连接。JSP实现了纯JAVA代码与HTML代码分离,你可以理解那句就是一个对象,通通对象来调用的那个连接。
      

  9.   

    伙计,一般的传统的链接数据库时,读取的是哪个表是看查询语句来定的,你可以到<jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/> 也就是包:nfjd.admin.Img类中去找,
    根据这个类Img中应该有个getRs2()方法,这个方法应该就封装这查询语句以及根据这个select所得到的结果集啊,你看一看这个getRs2()方法中的select语句应该就ok了,呵呵。
                                                       快过年了,过年好啊
      

  10.   

    楼主可以按9楼的思路去找。
    如果你有源代码,直接在Eclipse或netbeans项目中查找包nfjd
    如果没有源代码,你得反编译class文件为java源代码,再重新编译为class
      

  11.   

    你要找的就在Img.class文件里,在WEB-INF/classes/nfjd/admin/ 目录下,可惜是.class的不能直接看,最好你有源码,然后用Myeclipse看,就一定能看明白,如果没有源码,那只好把Img.class反编译一下,然后再研究源码吧,
    建议楼主先看看java基础知识以及jsp基础知识。你贴出来的jsp+javaBean来写的,很基础的东西了,很少用。
      

  12.   

    ctrl+左键点击nfjd.admin.Img,打开这个类,里面有业务层的方法,一层层找进去就可以看见了。J2EE和.NET最大不同是,JAVA的业务和视图是分开的。很少有直接在页面写连接方法的。
      

  13.   

    <jsp:useBean id="info" class="nfjd.admin.Img" scope="page"/>
      

  14.   

    谢谢各位的帮助,找到了CLASS那些文件了,真的还编译了。反编译后会和源文件一样吗?
      

  15.   

    太好了,反编译后,基本都没问题了。可以看懂大部分了。剩下的就是熟悉JSP语句了。谢谢大家。结贴。