您好,登錄后才能下訂單哦!
小編給大家分享一下MyEclipse+WebLogic+MySQL數(shù)據(jù)源如何配置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置,首先在感覺,在Weblogic的控制臺上配置Web應用程序的數(shù)據(jù)源還是比較簡單的。這里作為測試,為了清晰闡述,分為三個標題:測試工程準備、數(shù)據(jù)源配置、發(fā)布測試。
測試工程準備
主要準備測試配置數(shù)據(jù)源的Java Web工程,工程名稱為WeblogicDataSource。
BlogService類通過查找JNDI名字,來獲取到的一個數(shù)據(jù)源(DataSource)的實例,然后通過連接MySQL數(shù)據(jù)庫,從數(shù)據(jù)庫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查詢來獲取數(shù)據(jù),將在后面的Servlet中調用 Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/mysql"); // 數(shù)據(jù)源名稱為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; } }
實現(xiàn)的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的,一定會出錯的。
配置數(shù)據(jù)源
在MyEclipse中,配置Server中Weblogic里面的Paths,也就是把數(shù)據(jù)庫的JDBC驅動程序的jar文件加入到CLASSPATH中,我這里使用的是MySQL數(shù)據(jù)庫,對應的JDBC驅動程序版本為mysql-connector-java-5.0.8-bin.jar,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖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數(shù)據(jù)源的配置圖2
可以看到右側“部署”選項卡中,“部署狀態(tài)”為可用。
配置數(shù)據(jù)源,首先要做的就是,配置數(shù)據(jù)庫連接緩沖池;然后是基于改連接池的數(shù)據(jù)源的配置。
(一)數(shù)據(jù)庫連接池配置
下面是數(shù)據(jù)庫連接池的配置過程:
在左側導航菜單中,依次打開“服務”-﹥“JDBC”,單擊“連接緩沖池”,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖3
單擊“配置新的 JDBC連接緩沖池”鏈接,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖4
配置數(shù)據(jù)庫類型(這里為MySQL)和數(shù)據(jù)庫驅動程序(這里選擇com.mysql.jdbc.Driver),單擊“繼續(xù)”按鈕,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖5
配置JDBC連接池名稱(這里為MySQLcp)、數(shù)據(jù)庫名稱(這里為blog)、主機名(這里為localhost)、端口號(這里使用MySQLcp數(shù)據(jù)庫,默認為3306)、數(shù)據(jù)庫用戶名(這里為root)、數(shù)據(jù)庫登錄口令,然后單擊“繼續(xù)”按鈕,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖6
單擊“測試驅動程序配置”,測試前面配置的數(shù)據(jù)庫的JDBC驅動程序,如果沒有問題,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖7
左上角顯示綠色的文字“連接成功”,否則就沒有通過配置的測試。單擊“創(chuàng)建和部署”按鈕,可以看到成功配置的JDBC數(shù)據(jù)庫連接緩沖池,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖8
(二)配置數(shù)據(jù)源
在左側導航菜單中,依次打開“服務”-﹥“JDBC”,單擊“數(shù)據(jù)源”,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖9
單擊“配置新的JDBC數(shù)據(jù)源”鏈接,配置數(shù)據(jù)源名稱(這里為MySQLds)和JNDI名稱(這里為jdbc/mysql),如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖10
單擊“繼續(xù)”鏈接,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖11
可以從下拉列表中選擇已經存在的數(shù)據(jù)庫連接池,然后單擊“繼續(xù)”按鈕,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖12
單擊“創(chuàng)建”按鈕,根據(jù)剛才配置的數(shù)據(jù)源選項創(chuàng)建數(shù)據(jù)源,如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖13
數(shù)據(jù)源配置完成。
這時,數(shù)據(jù)源MySQLcp(jdbc/mysql)可以為Web應用提供數(shù)據(jù)源了。
發(fā)布測試
如果Web應用打包后的war文件沒有放在Weblogic Server的應用程序目錄下,可以在Weblogic Console上進行上傳,如果已經放到Weblogic Server的應用程序目錄下,可以進行測試了。
打開連接http://192.168.151.201:7001/WeblogicDataSource/getArticles,顯示列表如圖所示:
MyEclipse+WebLogic+MySQL數(shù)據(jù)源的配置圖14
通過測試,說明上述配置的數(shù)據(jù)源是存在的,可以為測試的Web應用提供數(shù)據(jù)源。
以上是“MyEclipse+WebLogic+MySQL數(shù)據(jù)源如何配置”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。