index.jsp里的一些表格要显示数据库里的一些数据,那么在servlet里调用javabean取出数据库里的数据怎么传给index.jsp页面来显示?刚开始访问index.jsp时,怎么调用servlet?index.jsp里没<form>没post啊。有post的话就post给servlet。我只是想在index.jsp页面上显示数据库里的数据,但不想用javabean直接去读数据库。
关键问题1:jsp页面如何调用servlet?
关键问题2:servlet调用javabean处理完后的数据如何返回给jsp页面?如rs.getString(1)这个值怎么把它传到jsp页面显示。

解决方案 »

  1.   

    两中方法;
       1.JSP页面直接调用JAVA代码
       2.调用时用问号传参数
      

  2.   

    问号传参数不太现实,以对象形式存入session,然后在jsp页面中读session就可以了。
    还有的方法就比较复杂了,或者用一个静态java类来保存,或者写文件,或者用xml,没有session方便。
    不过不太明白你为什么要这么做,其实jsp和servlet是一种东西,都是解析之后生成html页面的,直接在jsp里面调用javabean方便多了。你也可以在servlet中取得数据后,直接把页面写出来就可以了。
      

  3.   

    第一个问题:
    将servlet中的数据组装到javabean里,然后request.setAttribute("javabean",javabean);只要在index.jsp页面中request.getAttribute("javabean");就可以了。
    第二个问题:
    需要转一下弯,其实不光表单可以post,get,从本质上来说,输入网址就等同于表单的get方式,在servlet照样可以doGet。
      

  4.   

    顺便说一下,有大侠说用session,但是我的看法是:在局部页面中提交一般不要用session,因为session虽然方便,但是却及其费资源。
    记住能用request的地方尽量不用session。
      

  5.   

    一个名为Getdb.java的servlet里的doGet()方法里的代码 String sql = "select * from 档案表";
    Datebase db = new Datebase();    //一个简单操作数据库的javabean 
    ResultSet rs = db.getResult(sql);
    View view = new View();
    try {
    while(rs.next())
    view.setUsername(rs.getString(1));
        view.setZhiye(rs.getString(2));
        view.setAge(rs.getString(3));
        view.setWeizhi(rs.getString(4));
        view.setAihao(rs.getString(5));
        view.setBiancheng(rs.getString(6));
        view.setQq(rs.getString(7));
        view.setXingbie(rs.getString(8));
        view.setXingzuo(rs.getString(9));
        view.setMsn(rs.getString(10));
        view.setEmail(rs.getString(11));
        view.setLianxifangshi(rs.getString(12));
        
    } catch (Exception e) {
    // TODO: handle exception
    }
    request.setAttribute("view",view);  //这里是这样写吗?
    View.java想用来保存数据信息在index.jsp页面上调用去取信息显示。
    package db;public class View {
    private String username = null;
    private String zhiye = null;
    private String age = null;
    private String weizhi = null;
    private String aihao = null;
    private String biancheng = null;
    private String qq = null;
    private String xingbie = null;
    private String xingzuo = null;
    private String Msn = null;
    private String Email = null;
    private String lianxifangshi = null;
    void setUsername(String username){
    this.username = username;
    }
    void setZhiye(String zhiye){
    this.zhiye = zhiye;
    }
    void setAge(String age){
    this.age = age;
    }
    void setWeizhi(String weizhi){
    this.weizhi = weizhi;
    }
    void setAihao(String aihao){
    this.aihao = aihao;
    }
    void setBiancheng(String biancheng){
    this.biancheng = biancheng;
    }
    void setQq(String qq){
    this.qq = qq;
    }
    void setXingbie(String xingbie){
    this.xingbie = xingbie;
    }
    void setXingzuo(String xingzuo){
    this.xingzuo = xingzuo;
    }
    void setMsn(String msn){
    this.Msn = msn;
    }
    void setEmail(String email){
    this.Email = email;
    }
    void setLianxifangshi(String lianxifangshi){
    this.lianxifangshi = lianxifangshi;
    }
    String getUsername(){
    return username;
    }
    String getZhiye(){
    return zhiye;
    }
    String getAge(){
    return age;
    }
    String getWeizhi(){
    return weizhi;
    }
    String getAihao(){
    return aihao;
    }
    String getBiancheng(){
    return biancheng;
    }
    String getQq(){
    return qq;
    }
    String getXingbie(){
    return xingbie;
    }
    String getXingzuo(){
    return xingzuo;
    }
    String getMsn(){
    return Msn;
    }
    String getEmail(){
    return Email;
    }
    String getLianxifangshi(){
    return lianxifangshi;
    }
    }index.jsp里该怎么调用view里保存的数据显示。想用<%=view.getUsername()%>显示数据主要怎么调用?<jsp:useBean id="view" class="db.View" scope="request"/>这样?
    <%=request.getAttribute("view")%>这样?小菜不行啊。。index.jsp没发请求到servlet啊,小菜就是想用servlet中间件调用javabean,把处理好的结果放到view对象里,在index.jsp调用view对象显示数据啊。大家在帮忙看看。小菜千家荡产谢谢了
      

  6.   

    小菜一直关注大家帮帮忙。我是初学者。非常感谢楼上的各位大哥的建议,尤其是shendiaodaxia(匆匆) 再次请教。
      

  7.   

    直接请求SERVLET,在SERVLET里设置好BEAN,然后FORWORD到JSP
      

  8.   

    你自己的思路是可以的,在
    servlet里setAttribute后,再写
      forward(request,response,'要获取数据的JSP页面')
    JSP里
      可以getAttribute('view');
    再就可以用你的view 对象了