MyEclipse+WebLogic+MySQL数据源的配置图解

开发 后端
MyEclipse+WebLogic+MySQL数据源的配置图解向你详细介绍具体的配置及操作,希望对你MyEclipse+WebLogic+MySQL数据源的配置方面有所帮助。

MyEclipse+WebLogic+MySQL数据源的配置,首先在感觉,在Weblogic的控制台上配置Web应用程序的数据源还是比较简单的。这里作为测试,为了清晰阐述,分为三个标题:测试工程准备、数据源配置、发布测试。

测试工程准备

主要准备测试配置数据源的Java Web工程,工程名称为WeblogicDataSource。

BlogService类通过查找JNDI名字,来获取到的一个数据源(DataSource)的实例,然后通过连接MySQL数据库,从数据库blog的表jblog_article中查询得到记录,返回一个结果的List集合。BlogService.java的源代码如下所示:

  1. package org.shirdrn.blog;  
  2.  
  3. import java.sql.Connection;  
  4. import java.sql.ResultSet;  
  5. import java.sql.Statement;  
  6. import java.util.ArrayList;  
  7. import java.util.List;  
  8.  
  9. import javax.naming.Context;  
  10. import javax.naming.InitialContext;  
  11. import javax.sql.DataSource;  
  12.  
  13. import org.shirdrn.blog.entity.Article;  
  14.  
  15. public class BlogService {  
  16.  
  17. public List getAticles(String sql) throws Exception { // 改方法通过传递一个sql查询来获取数据,将在后面的Servlet中调用  
  18.    Context ctx = new InitialContext();  
  19.    DataSource ds = (DataSource)ctx.lookup("jdbc/mysql"); // 数据源名称为jdbc/mysql  
  20.    Connection conn = ds.getConnection();  
  21.    Statement stmt = conn.createStatement();  
  22.    ResultSet rs = stmt.executeQuery(sql);  
  23.    List articleList = new ArrayList();  
  24.    while(rs.next()) {  
  25.     Article article = new Article();  
  26.     article.setId(new Integer(rs.getInt(1)));  
  27.     article.setCid(new Integer(rs.getInt(2)));  
  28.     article.setUid(new Integer(rs.getInt(3)));  
  29.     article.setUserName(rs.getString(4));  
  30.     article.setTitle(rs.getString(5));  
  31.     article.setUrlName(rs.getString(6));  
  32.     article.setStatus(new Short(rs.getShort(7)));  
  33.     article.setPassword(rs.getString(8));  
  34.     article.setContent(rs.getString(13));  
  35.     articleList.add(article);  
  36.    }  
  37.    return articleList;  
  38. }  

上面用到一个实体类Article,实体类代码如下所示:

  1. package org.shirdrn.blog.entity;  
  2.  
  3. public class Article {  
  4. private Integer id;  
  5. private Integer cid;  
  6. private Integer uid;  
  7. private String userName;  
  8. private String title;  
  9. private String urlName;  
  10. private Short status;  
  11. private String password;  
  12. private String from;  
  13. private String forumUrl;  
  14. private String description;  
  15. private String excerpt;  
  16. private String content;  
  17. private String comments;  
  18. private String views;  
  19. private Integer dataline;  
  20. private Boolean isTop;  
  21. private Boolean isCommend;  
  22. private Boolean isCheck;  
  23. private String tags;  
  24. public Integer getId() {  
  25.    return id;  
  26. }  
  27. public void setId(Integer id) {  
  28.    this.id = id;  
  29. }  
  30. public Integer getCid() {  
  31.    return cid;  
  32. }  
  33. public void setCid(Integer cid) {  
  34.    this.cid = cid;  
  35. }  
  36. public Integer getUid() {  
  37.    return uid;  
  38. }  
  39. public void setUid(Integer uid) {  
  40.    this.uid = uid;  
  41. }  
  42. public String getUserName() {  
  43.    return userName;  
  44. }  
  45. public void setUserName(String userName) {  
  46.    this.userName = userName;  
  47. }  
  48. public String getTitle() {  
  49.    return title;  
  50. }  
  51. public void setTitle(String title) {  
  52.    this.title = title;  
  53. }  
  54. public String getUrlName() {  
  55.    return urlName;  
  56. }  
  57. public void setUrlName(String urlName) {  
  58.    this.urlName = urlName;  
  59. }  
  60. public Short getStatus() {  
  61.    return status;  
  62. }  
  63. public void setStatus(Short status) {  
  64.    this.status = status;  
  65. }  
  66. public String getPassword() {  
  67.    return password;  
  68. }  
  69. public void setPassword(String password) {  
  70.    this.password = password;  
  71. }  
  72. public String getFrom() {  
  73.    return from;  
  74. }  
  75. public void setFrom(String from) {  
  76.    this.from = from;  
  77. }  
  78. public String getForumUrl() {  
  79.    return forumUrl;  
  80. }  
  81. public void setForumUrl(String forumUrl) {  
  82.    this.forumUrl = forumUrl;  
  83. }  
  84. public String getDescription() {  
  85.    return description;  
  86. }  
  87. public void setDescription(String description) {  
  88.    this.description = description;  
  89. }  
  90. public String getExcerpt() {  
  91.    return excerpt;  
  92. }  
  93. public void setExcerpt(String excerpt) {  
  94.    this.excerpt = excerpt;  
  95. }  
  96. public String getContent() {  
  97.    return content;  
  98. }  
  99. public void setContent(String content) {  
  100.    this.content = content;  
  101. }  
  102. public String getComments() {  
  103.    return comments;  
  104. }  
  105. public void setComments(String comments) {  
  106.    this.comments = comments;  
  107. }  
  108. public String getViews() {  
  109.    return views;  
  110. }  
  111. public void setViews(String views) {  
  112.    this.views = views;  
  113. }  
  114. public Integer getDataline() {  
  115.    return dataline;  
  116. }  
  117. public void setDataline(Integer dataline) {  
  118.    this.dataline = dataline;  
  119. }  
  120. public Boolean getIsTop() {  
  121.    return isTop;  
  122. }  
  123. public void setIsTop(Boolean isTop) {  
  124.    this.isTop = isTop;  
  125. }  
  126. public Boolean getIsCommend() {  
  127.    return isCommend;  
  128. }  
  129. public void setIsCommend(Boolean isCommend) {  
  130.    this.isCommend = isCommend;  
  131. }  
  132. public Boolean getIsCheck() {  
  133.    return isCheck;  
  134. }  
  135. public void setIsCheck(Boolean isCheck) {  
  136.    this.isCheck = isCheck;  
  137. }  
  138. public String getTags() {  
  139.    return tags;  
  140. }  
  141. public void setTags(String tags) {  
  142.    this.tags = tags;  
  143. }  
  144.  

实现的Servlet也比较简单,Servlet名称GetArticlesServlet,映射名称为getArticles,代码如下所示:

  1. package org.shirdrn.servlet;  
  2.  
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5. import java.util.List;  
  6.  
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11. import javax.servlet.http.HttpSession;  
  12.  
  13. import org.shirdrn.blog.BlogService;  
  14.  
  15. public class GetArticlesServlet extends HttpServlet {  
  16. public GetArticlesServlet() {  
  17.    super();  
  18. }  
  19. public void destroy() {  
  20.    super.destroy();   
  21. }  
  22. public void doGet(HttpServletRequest request, HttpServletResponse response)  
  23.     throws ServletException, IOException {  
  24.    doPost(request, response);  
  25. }  
  26. public void doPost(HttpServletRequest request, HttpServletResponse response)  
  27.     throws ServletException, IOException {  
  28.    HttpSession session = request.getSession();  
  29.    String sql = "select * from jblog_article";  
  30.    BlogService bs = new BlogService();  
  31.    List articleList = null;  
  32.    try {  
  33.     articleList = bs.getAticles(sql);  
  34.    } catch (Exception e) {  
  35.     e.printStackTrace();  
  36.    }  
  37.    session.setAttribute("articleList", articleList);  
  38.    response.sendRedirect("listArticles.jsp");  
  39. }  
  40. public void init() throws ServletException {  
  41.     
  42. }  

相关的显示查询结果的列表页面只有一个,也就是listArticles.jsp,代码如下所示:

  1. ﹤%@ page language="java" import="java.util.*" pageEncoding="utf-8"%﹥  
  2. ﹤%@page import="org.shirdrn.blog.entity.Article"%﹥  
  3.  
  4. ﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"﹥  
  5. ﹤html﹥  
  6. ﹤head﹥   
  7.     ﹤title﹥博客文章列表页面﹤/title﹥  
  8. ﹤/head﹥   
  9. ﹤body﹥  
  10.     ﹤%  
  11.     List articleList = (List)session.getAttribute("articleList");  
  12.      %﹥  
  13. ﹤/body﹥  
  14. ﹤table style="color:yellow" align="center" bgcolor="green" border="1" borderColor="black"﹥  
  15. ﹤tr﹥  
  16.    ﹤th﹥ID﹤/th﹥  
  17.    ﹤th﹥CID﹤/th﹥  
  18.    ﹤th﹥UID﹤/th﹥  
  19.    ﹤th﹥用户名﹤/th﹥  
  20.    ﹤th﹥标题﹤/th﹥  
  21. ﹤/tr﹥  
  22.    ﹤%      
  23.     for(int i=0; i﹤articleList.size(); i++) {  
  24.      Article a = (Article)articleList.get(i);  
  25.    %﹥  
  26.    ﹤tr﹥  
  27.    ﹤td﹥﹤%=a.getId() %﹥﹤/td﹥  
  28.    ﹤td﹥﹤%=a.getCid() %﹥﹤/td﹥  
  29.    ﹤td﹥﹤%=a.getUid() %﹥﹤/td﹥  
  30.    ﹤td﹥﹤%=a.getUserName() %﹥﹤/td﹥  
  31.    ﹤td﹥﹤%=a.getTitle() %﹥﹤/td﹥  
  32.    ﹤/tr﹥  
  33.    ﹤%} %﹥  
  34. ﹤/table﹥  
  35. ﹤/html﹥ 

对应Java Web工程的应用部署描述文件web.xml内容如下所示:

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤!DOCTYPE web-app PUBLIC "-//Sun Microsystems,   
  3. Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"﹥  
  4. ﹤web-app﹥  
  5. ﹤servlet﹥  
  6.    ﹤servlet-name﹥GetArticlesServlet﹤/servlet-name﹥  
  7.    ﹤servlet-class﹥  
  8.     org.shirdrn.servlet.GetArticlesServlet  
  9.    ﹤/servlet-class﹥  
  10. ﹤/servlet﹥  
  11.  
  12. ﹤servlet-mapping﹥  
  13.    ﹤servlet-name﹥GetArticlesServlet﹤/servlet-name﹥  
  14.    ﹤url-pattern﹥/getArticles﹤/url-pattern﹥  
  15. ﹤/servlet-mapping﹥  
  16. ﹤welcome-file-list﹥  
  17.    ﹤welcome-file﹥index.jsp﹤/welcome-file﹥  
  18. ﹤/welcome-file-list﹥  
  19. ﹤/web-app﹥ 

值得注意的是,这里使用的是web-app 2.3部署描述文件,如果是2.4的,一定会出错的。

配置数据源

在MyEclipse中,配置Server中Weblogic里面的Paths,也就是把数据库的JDBC驱动程序的jar文件加入到CLASSPATH中,我这里使用的是MySQL数据库,对应的JDBC驱动程序版本为mysql-connector-java-5.0.8-bin.jar,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置1 

MyEclipse+WebLogic+MySQL数据源的配置图1

在MyEclipse中编译工程后,先使用MyEclipse的打包工具打成WAR包:

选择Export下的“J2EE”-﹥“WAR file(MyEclipse)”,指定路径,我存放到了D:\bea\user_projects\domains\sndomain\applications\WeblogicDataSource.war下面。

这时候,可以启动Weblogic Server了(前提条件是配置好了Weblogic Server,例如我的是snserver),并登录到Weblogic Console。打开左侧“部署”下的“Web应用程序模块”,可以看到“_appsdir_WeblogicDataSource_dir”,这是因为我在MyEclipse中导出为war文件的时候,直接导出到Weblogic Server的应用程序目录下,自动进行了部署,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置2 

MyEclipse+WebLogic+MySQL数据源的配置图2

可以看到右侧“部署”选项卡中,“部署状态”为可用。

配置数据源,首先要做的就是,配置数据库连接缓冲池;然后是基于改连接池的数据源的配置。

(一)数据库连接池配置

下面是数据库连接池的配置过程:

在左侧导航菜单中,依次打开“服务”-﹥“JDBC”,单击“连接缓冲池”,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置3 

MyEclipse+WebLogic+MySQL数据源的配置图3

单击“配置新的 JDBC连接缓冲池”链接,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置4 

MyEclipse+WebLogic+MySQL数据源的配置图4

配置数据库类型(这里为MySQL)和数据库驱动程序(这里选择com.mysql.jdbc.Driver),单击“继续”按钮,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置5 

MyEclipse+WebLogic+MySQL数据源的配置图5

配置JDBC连接池名称(这里为MySQLcp)、数据库名称(这里为blog)、主机名(这里为localhost)、端口号(这里使用MySQLcp数据库,默认为3306)、数据库用户名(这里为root)、数据库登录口令,然后单击“继续”按钮,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置6 

MyEclipse+WebLogic+MySQL数据源的配置图6

单击“测试驱动程序配置”,测试前面配置的数据库的JDBC驱动程序,如果没有问题,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置7 

MyEclipse+WebLogic+MySQL数据源的配置图7

左上角显示绿色的文字“连接成功”,否则就没有通过配置的测试。单击“创建和部署”按钮,可以看到成功配置的JDBC数据库连接缓冲池,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置8 

MyEclipse+WebLogic+MySQL数据源的配置图8

(二)配置数据源

在左侧导航菜单中,依次打开“服务”-﹥“JDBC”,单击“数据源”,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置9 

MyEclipse+WebLogic+MySQL数据源的配置图9

单击“配置新的JDBC数据源”链接,配置数据源名称(这里为MySQLds)和JNDI名称(这里为jdbc/mysql),如图所示:

MyEclipse+WebLogic+MySQL数据源的配置10 

MyEclipse+WebLogic+MySQL数据源的配置图10

单击“继续”链接,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置11 

MyEclipse+WebLogic+MySQL数据源的配置图11

可以从下拉列表中选择已经存在的数据库连接池,然后单击“继续”按钮,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置12 

MyEclipse+WebLogic+MySQL数据源的配置图12

单击“创建”按钮,根据刚才配置的数据源选项创建数据源,如图所示:

MyEclipse+WebLogic+MySQL数据源的配置13 

MyEclipse+WebLogic+MySQL数据源的配置图13

数据源配置完成。

这时,数据源MySQLcp(jdbc/mysql)可以为Web应用提供数据源了。

发布测试

如果Web应用打包后的war文件没有放在Weblogic Server的应用程序目录下,可以在Weblogic Console上进行上传,如果已经放到Weblogic Server的应用程序目录下,可以进行测试了。

打开连接http://192.168.151.201:7001/WeblogicDataSource/getArticles,显示列表如图所示:

MyEclipse+WebLogic+MySQL数据源的配置14 

MyEclipse+WebLogic+MySQL数据源的配置图14

通过测试,说明上述配置的数据源是存在的,可以为测试的Web应用提供数据源。

那么MyEclipse+WebLogic+MySQL数据源的配置就向你介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. MyEclipse5.5+Eclipse3.2+Tomcat5.5配置浅析
  2. MyEclipse DeBug对JS脚本的功能浅析
  3. Eclipse和MyEclipse的比较浅析
  4. MyEclipse不编译问题的解决
  5. MyEclipse连接MySQL的问题浅析
责任编辑:仲衡 来源: 百度空间
相关推荐

2010-12-27 09:59:11

ODBC数据源

2009-06-15 13:24:46

JBoss数据源

2010-08-19 15:54:42

MyEclipse 5 WebLogic 9

2010-05-14 15:32:51

配置MySQL

2024-10-30 10:22:17

2020-12-31 07:55:33

spring bootMybatis数据库

2023-09-07 08:39:39

copy属性数据源

2014-11-20 09:47:06

Java

2010-08-02 09:27:31

Vista ADSL

2014-06-18 15:50:06

RHEL 7.0系统安装

2017-09-04 14:52:51

Tomcat线程数据源

2010-06-18 18:27:13

UML构件图

2010-06-12 16:54:19

2017-06-14 23:42:27

大数据数据源架构

2009-06-16 16:20:58

JBoss4配置Inf

2023-01-04 09:33:31

SpringBootMybatis

2009-06-11 14:52:20

EJB组件MyEclipse

2021-02-25 18:46:07

开发技能代码

2009-07-15 09:21:56

MyEclipse代理MyEclipse下载

2023-11-27 09:16:53

Python数据源类型
点赞
收藏

51CTO技术栈公众号