... = ((DataSource) pageContext.getServletContext().getAttribute("org.apache.struts.action.DATA_SOURCE");注:不提倡在jsp中获得数据源。

解决方案 »

  1.   

    同意楼上的,用struts,这样用,感觉上很奇怪。
      

  2.   

    那难道用这种吗?
    Class.forName("org.gjt.mm.mysql.Driver");
      conn = DriverManager.getConnection("jdbc:mysql://ip:3306/dzsw?useUnicode=true&characterEncoding=gb2312","fish","123");
    这样我把做好的war换一台机器,里面的ip都得改一遍,太麻烦了,我想都用struts的数据源,改一个struts-config.xml就可以了
      

  3.   

    不是这样的,应该在servlet中取得数据,然后在jsp中显示数据,因为struts是mvc构架,所以你在jsp中直接连接数据库,是不符合struts的设计思想的。推荐做法是在Struts Action中将数据填充到某个数据结构(如:formbean)中去,然后在jsp通过struts taglib表现出来。
      

  4.   

    能不能具体讲一下呢?
    怎么写一个共用的连接数据库bean.
      

  5.   

    假设databasebean里有一个名字为connect的方法,
    <jsp:useBean id="loginBeanId" scope="session" class="webshop.LoginBean" />
    <jsp:setProperty name="loginBeanId" property="*" />
    <form>
    <body>
    //判断连接是否成功
    <%if(loginBeanId.connect())
    {
    out.println("恭喜您"+request.getParameter("name")+"连接数据库成功");
    }
    else
    {
    response.sendRedirect("/login.jsp");
    }%>
    </body>
    </form>
      

  6.   

    更改上面
    假设databasebean里有一个名字为connect的方法,
    假设Loginbean里有一个名字为connect的方法,