千家信息网

MyEclipse+WebLogic+MySQL数据源如何配置

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,小编给大家分享一下MyEclipse+WebLogic+MySQL数据源如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下
千家信息网最后更新 2024年11月24日MyEclipse+WebLogic+MySQL数据源如何配置

小编给大家分享一下MyEclipse+WebLogic+MySQL数据源如何配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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

测试工程准备

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

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

package org.shirdrn.blog;   import java.sql.Connection;  import java.sql.ResultSet;  import java.sql.Statement;  import java.util.ArrayList;  import java.util.List;   import javax.naming.Context;  import javax.naming.InitialContext;  import javax.sql.DataSource;   import org.shirdrn.blog.entity.Article;   public class BlogService {   public List getAticles(String sql) throws Exception { // 改方法通过传递一个sql查询来获取数据,将在后面的Servlet中调用     Context ctx = new InitialContext();     DataSource ds = (DataSource)ctx.lookup("jdbc/mysql"); // 数据源名称为jdbc/mysql     Connection conn = ds.getConnection();     Statement stmt = conn.createStatement();     ResultSet rs = stmt.executeQuery(sql);     List articleList = new ArrayList();     while(rs.next()) {      Article article = new Article();      article.setId(new Integer(rs.getInt(1)));      article.setCid(new Integer(rs.getInt(2)));      article.setUid(new Integer(rs.getInt(3)));      article.setUserName(rs.getString(4));      article.setTitle(rs.getString(5));      article.setUrlName(rs.getString(6));      article.setStatus(new Short(rs.getShort(7)));      article.setPassword(rs.getString(8));      article.setContent(rs.getString(13));      articleList.add(article);     }     return articleList;  }  }

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

package org.shirdrn.blog.entity;   public class Article {  private Integer id;  private Integer cid;  private Integer uid;  private String userName;  private String title;  private String urlName;  private Short status;  private String password;  private String from;  private String forumUrl;  private String description;  private String excerpt;  private String content;  private String comments;  private String views;  private Integer dataline;  private Boolean isTop;  private Boolean isCommend;  private Boolean isCheck;  private String tags;  public Integer getId() {     return id;  }  public void setId(Integer id) {     this.id = id;  }  public Integer getCid() {     return cid;  }  public void setCid(Integer cid) {     this.cid = cid;  }  public Integer getUid() {     return uid;  }  public void setUid(Integer uid) {     this.uid = uid;  }  public String getUserName() {     return userName;  }  public void setUserName(String userName) {     this.userName = userName;  }  public String getTitle() {     return title;  }  public void setTitle(String title) {     this.title = title;  }  public String getUrlName() {     return urlName;  }  public void setUrlName(String urlName) {     this.urlName = urlName;  }  public Short getStatus() {     return status;  }  public void setStatus(Short status) {     this.status = status;  }  public String getPassword() {     return password;  }  public void setPassword(String password) {     this.password = password;  }  public String getFrom() {     return from;  }  public void setFrom(String from) {     this.from = from;  }  public String getForumUrl() {     return forumUrl;  }  public void setForumUrl(String forumUrl) {     this.forumUrl = forumUrl;  }  public String getDescription() {     return description;  }  public void setDescription(String description) {     this.description = description;  }  public String getExcerpt() {     return excerpt;  }  public void setExcerpt(String excerpt) {     this.excerpt = excerpt;  }  public String getContent() {     return content;  }  public void setContent(String content) {     this.content = content;  }  public String getComments() {     return comments;  }  public void setComments(String comments) {     this.comments = comments;  }  public String getViews() {     return views;  }  public void setViews(String views) {     this.views = views;  }  public Integer getDataline() {     return dataline;  }  public void setDataline(Integer dataline) {     this.dataline = dataline;  }  public Boolean getIsTop() {     return isTop;  }  public void setIsTop(Boolean isTop) {     this.isTop = isTop;  }  public Boolean getIsCommend() {     return isCommend;  }  public void setIsCommend(Boolean isCommend) {     this.isCommend = isCommend;  }  public Boolean getIsCheck() {     return isCheck;  }  public void setIsCheck(Boolean isCheck) {     this.isCheck = isCheck;  }  public String getTags() {     return tags;  }  public void setTags(String tags) {     this.tags = tags;  }   }

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

package org.shirdrn.servlet;   import java.io.IOException;  import java.io.PrintWriter;  import java.util.List;   import javax.servlet.ServletException;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpSession;   import org.shirdrn.blog.BlogService;   public class GetArticlesServlet extends HttpServlet {  public GetArticlesServlet() {     super();  }  public void destroy() {     super.destroy();   }  public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {     doPost(request, response);  }  public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {     HttpSession session = request.getSession();     String sql = "select * from jblog_article";     BlogService bs = new BlogService();     List articleList = null;     try {      articleList = bs.getAticles(sql);     } catch (Exception e) {      e.printStackTrace();     }     session.setAttribute("articleList", articleList);     response.sendRedirect("listArticles.jsp");  }  public void init() throws ServletException {      }  }

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

﹤%@ page language="java" import="java.util.*" pageEncoding="utf-8"%﹥  ﹤%@page import="org.shirdrn.blog.entity.Article"%﹥   ﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"﹥  ﹤html﹥  ﹤head﹥       ﹤title﹥博客文章列表页面﹤/title﹥  ﹤/head﹥   ﹤body﹥      ﹤%      List articleList = (List)session.getAttribute("articleList");       %﹥  ﹤/body﹥  ﹤table style="color:yellow" align="center" bgcolor="green" border="1" borderColor="black"﹥  ﹤tr﹥     ﹤th﹥ID﹤/th﹥     ﹤th﹥CID﹤/th﹥     ﹤th﹥UID﹤/th﹥     ﹤th﹥用户名﹤/th﹥     ﹤th﹥标题﹤/th﹥  ﹤/tr﹥     ﹤%          for(int i=0; i﹤articleList.size(); i++) {       Article a = (Article)articleList.get(i);     %﹥     ﹤tr﹥     ﹤td﹥﹤%=a.getId() %﹥﹤/td﹥     ﹤td﹥﹤%=a.getCid() %﹥﹤/td﹥     ﹤td﹥﹤%=a.getUid() %﹥﹤/td﹥     ﹤td﹥﹤%=a.getUserName() %﹥﹤/td﹥     ﹤td﹥﹤%=a.getTitle() %﹥﹤/td﹥     ﹤/tr﹥     ﹤%} %﹥  ﹤/table﹥  ﹤/html﹥

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

﹤?xml version="1.0" encoding="UTF-8"?﹥  ﹤!DOCTYPE web-app PUBLIC "-//Sun Microsystems,   Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"﹥  ﹤web-app﹥  ﹤servlet﹥     ﹤servlet-name﹥GetArticlesServlet﹤/servlet-name﹥     ﹤servlet-class﹥      org.shirdrn.servlet.GetArticlesServlet     ﹤/servlet-class﹥  ﹤/servlet﹥   ﹤servlet-mapping﹥     ﹤servlet-name﹥GetArticlesServlet﹤/servlet-name﹥     ﹤url-pattern﹥/getArticles﹤/url-pattern﹥  ﹤/servlet-mapping﹥  ﹤welcome-file-list﹥     ﹤welcome-file﹥index.jsp﹤/welcome-file﹥  ﹤/welcome-file-list﹥  ﹤/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中编译工程后,先使用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

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

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

(一)数据库连接池配置

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

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

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

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

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

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

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

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

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

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

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

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

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

(二)配置数据源

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

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

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

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

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

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

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

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

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

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

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

以上是"MyEclipse+WebLogic+MySQL数据源如何配置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 配置 数据源 数据库 如图 测试 程序 应用 名称 工程 应用程序 按钮 文件 驱动程序 驱动 缓冲 代码 内容 目录 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 磁盘无法考出数据库 站在新基建风口看网络安全 我的世界服务器的猫怎么弄 中信银行大数据软件开发薪资 软件开发许可使用合同 数据库的事务是什么 阜阳电商软件开发外包公司 抖音国际版无法连接服务器 苹果云上贵州服务器在美国吗 华为服务器UID按钮 柯美c6501服务器安装教程 群晖服务器文件夹突然看不到 vaadin连接数据库 一个数据库可以有多少个主文件组 幼苗网络安全活动措施 中等职业学校计算机网络技术教师 oa办公系统 数据库设计 最新的网络安全协议 做软件开发一般一月上多少天班 excel制作数据库动态查询 山东绿萝互联网科技公司 软件开发计算机系统 松江区app软件开发项目 网络安全征文300字图片 群策群力共筑网络安全 天津企业软件开发服务优化 我的世界火线精英服务器下载教程 软件开发找客户资源 服务器提供什么服务 邵阳市市委网络安全和信息化
0