`
qm504qm
  • 浏览: 12664 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

MyEclipse的javabean

 
阅读更多

MyEclipse的javabean
2010年11月30日
  MyEclipse配置数据源连接池2010-03-07 20:14转自http://blog.csdn.net/olinor/archive/2009/11/26/4873772.aspx
  软件版本myeclispe7.0,自带tomcat6.0.13。
  jdbc:mysql-connector-java-3.1.7-bin.jar。
  第一步:建立工程。
  在Myeclipse中file->new->web project。
  因为在测试数据源(jsp)时用到了标签库,所以可以在这里选上jsdl支持,当然也可以在工程建好后右键工程文件夹->myeclipse->add JSTL
  Libraries…实现同样的功能。
  第二步:导入jdbc的jar包。
  要直接将mysql-connector-java-3.1.7-bin.jar复制到“工程文件夹/WebRoot/WEB-INF/lib”文件夹下。这时,myeclipse会自动生成一个
  Referenced Libraries,不用管。
  第三步:建立context.xml文件。
  在“工程文件夹/WebRoot/META-INF”下,新建context.xml文件。文件内容如下:
  
  
  
  
  解释:
  name="jdbc/mysql"   //连接名,jndi中使用。具在JSP中用调用,servlet用 DataSource ds
  = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");调用。这里是tomcat的格式,不同的服务器可能有所不同。
  auth="Container"   
  type="javax.sql.DataSource"  
  maxActive="100"
  maxIdle="30"
  maxWait="10000"
  username="root"    //mysql的用户名
  password=""        //mysql的用户密码,我这里是空
  driverClassName="com.mysql.jdbc.Driver"   //驱动类名,一般确定
  url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true" //javatest是mysql中要使用的数据库名
  第四步:修改web.xml文件。
  在web.xml文件中添加以下内容:
  
  DB Connection
  jdbc/mysql
  javax.sql.DataSource
  Container
  
  这部分内容一般是确定的。
  OK,现在可以测试数据源是否好了。下面是JSP测试文件:
  
  
  
  
  
  
  
  ">
  My JSP 'MyJsp.jsp' starting page
  
  
     
  
  
  
  -->
  
  select id, username, password from user
  
  
  
  Results
  
  Foo ${row.username}
  Bar ${row.password}
  
  
  
  当然,如果你用servlet测试数据源也是可以的,下面是一个servlet测试例子:
  package fx;
  import java.io.IOException;
  import java.io.PrintWriter;
  import java.sql.Connection;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import javax.naming.Context;
  import javax.naming.InitialContext;
  import javax.naming.NamingException;
  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import javax.sql.DataSource;
  public class DsTest extends HttpServlet
  {
  /**
  * Constructor of the object.
  */
  public DsTest()
  {
  super();
  }
  /**
  * Destruction of the servlet.
  */
  public void destroy()
  {
  super.destroy(); // Just puts "destroy" string in log
  // Put your code here
  }
  /**
  * The doGet method of the servlet.
  *
  * This method is called when a form has its tag value method equals to get.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
  public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
  doPost(request,response);
  }
  /**
  * The doPost method of the servlet.
  *
  * This method is called when a form has its tag value method equals to post.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
  public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  out
  .println("");
  out.println("");
  out.println(" A Servlet");
  out.println(" ");
  out.print("    This is ");
  out.print(this.getClass());
  out.println(", using the POST method");
  try
  {
  Context ctx = new InitialContext();
  DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
  Connection conn = ds.getConnection();
  ResultSet rs=conn.createStatement().executeQuery("select * from user");
  rs.next();
  out.print(rs.getString(2));
  } catch (NamingException e) {
  e.printStackTrace(out);
  System.out.println(e.getMessage());
  } catch (SQLException e) {
  e.printStackTrace(out);
  }
  out.println("connection pool connected !!haha");
  out.println(" ");
  out.println("");
  out.flush();
  out.close();
  }
  /**
  * Initialization of the servlet.
  *
  * @throws ServletException if an error occurs
  */
  public void init() throws ServletException
  {
  // Put your code here
  }
  }
  我的mysql数据库名为javatest,表名为user,有三列"id","username","password"。servlet运行结果将打印出user表中的第一个用户名。
  注意:如果你新建servlet,myeclipse会自动帮你在web.xml中生成相应的mapping,而这部分内容可能“插”进
  
  DB Connection
  jdbc/mysql
  javax.sql.DataSource
  Container
  
  中,造成错误。注意自己手动调整。
  别外,注意myeclipse中的servlet映射为“服务器ip:端口/工程文件名/servlet/servlet名”。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics