import javax.sql.DataSource;
import java.sql.Connection;

解决方案 »

  1.   

    import javax.servlet.ServletException;
      

  2.   

    谢谢,可是还有错误:
    package com.ibm.sample.struts;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import javax.sql.DataSource;
    import java.sql.Connection;
    import javax.servlet.ServletException;/**
     * @version  1.0
     * @author
     */
    public class SubmitAction extends Action { /**
    * Constructor
    */
    public SubmitAction() { super(); }
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception { ActionErrors errors = new ActionErrors();
    ActionForward forward = new ActionForward();
    // return value
    SubmitForm submitForm = (SubmitForm) form; DataSource dataSource;
    Connection cnn; try {
    dataSource = getDataSource(request);
    cnn = dataSource.getConnection();
    // 数据连接已经建立了,你可以做你想做的事情了
    } catch (SQLException e) {
    getServlet().log("处理数据库连接", e);
    } finally {
    // 在finally块里包含这些代码
    // 用以保证连接最后会被关闭
    try {
    cnn.close();
    } catch (SQLException e) {
    getServlet().log("关闭数据库连接", e);
    }
    } }
    }
    错误提示: SQLException e  不能解析SQLException,他不是一种类型
    我想连接数据库,大哥有没有简单的连接数据库代码?谢谢~~
      

  3.   

    你的代码就可以连数据库。只要struts-config.xml设对。
      

  4.   

    没有import java.sql.SQLException;
    还是用eclipse吧,直接Organize import一把,所有的都自动帮你加好了.
      

  5.   

    谢谢各位大哥,我用的是WSAD5,过两天再看看eclipse吧。
    我写了一个,但是点连接后,页面出现错误,页面显示:Error 503: Failed to load target servlet [action] 
    控制台的错误提示有:
    java.sql.SQLException: Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDriver'
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
    at org.apache.commons.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:381)
    at org.apache.struts.util.GenericDataSource.setLogWriter(GenericDataSource.java:345)
    at org.apache.struts.action.ActionServlet.initApplicationDataSources(ActionServlet.java:942)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:457)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    .......................................
    [04-3-29 15:11:22:094 CST] 46df4de4 ServletInstan E SRVE0100E: 未识别出由 servlet action 抛出的 init() 异常:javax.servlet.UnavailableException: Initializing application data source org.apache.struts.action.DATA_SOURCE
    at org.apache.struts.action.ActionServlet.initApplicationDataSources(ActionServlet.java:946)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:457)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    .......................................
    [04-3-29 15:11:22:297 CST] 46df4de4 WebGroup      E SRVE0020E: [Servlet 错误]-[action]:无法装入 servlet:javax.servlet.UnavailableException: Initializing application data source org.apache.struts.action.DATA_SOURCE
    at org.apache.struts.action.ActionServlet.initApplicationDataSources(ActionServlet.java:946)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:457)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    ............................
    我不知道com.microsoft.jdbc.sqlserver.SQLServerDriver该怎么设,难道也在环境变量里设?
    主要的代码:
    DbConn.jsp:
    <a href="reg.do"><bean:message key="index.reg"/></a>show.jsp:
    <body>
    success
    </body>
    struts-config.xml
    <data-sources>
      <data-source>
        <set-property
       property="autoCommit"
       value="false"/>
        <set-property
       property="description"
       value="Example Data Source Configuration"/>
        <set-property
       property="driverClass"
       value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
        <set-property
       property="maxCount"
       value="4"/>
        <set-property
       property="minCount"
       value="2"/>
        <set-property
       property="password"
       value=""/>
        <set-property
       property="url"
       value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Db"/>
        <set-property
       property="user"
       value="sa"/>
      </data-source>
    </data-sources>
    .....................
    <action path="/dbConn" type="com.ibm.sample.struts.DbConnAction">
    <forward name="success" path="/show.jsp">
    </forward>
    </action>DbConnAction.java
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception { ActionErrors errors = new ActionErrors();
    ActionForward forward = new ActionForward();
    // return value
    SubmitForm submitForm = (SubmitForm) form; DataSource dataSource;
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null; try {
    dataSource = getDataSource(request);
    con = dataSource.getConnection();
    // 数据连接已经建立了,你可以做你想做的事情了
    stmt = con.createStatement();
    String searchStr = "a";
    ArrayList empList = new ArrayList(); StringBuffer sqlString =
    new StringBuffer(
    "select id, name, address from user  where name like '%"
    + searchStr
    + "%'");
    rs = stmt.executeQuery(sqlString.toString());
    while (rs.next()) {
    EmpBean emp = new EmpBean();
    emp.setId(rs.getString("id"));
    emp.setName(rs.getString("name"));
    emp.setAddress(rs.getString("address"));
    empList.add(emp);
    }
    rs.close(); } catch (SQLException e) {
    getServlet().log("处理数据库连接", e);
    } finally {
    // 在finally块里包含这些代码
    // 用以保证连接最后会被关闭
    try {
    con.close();
    } catch (SQLException e) {
    getServlet().log("关闭数据库连接", e);
    }
    }
    return (mapping.findForward("success"));
    }
      

  6.   

    把你的sqlserver的驱动程序包放入/lib 目录下。。