日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

servlet中使用db4o

發(fā)布時間:2023/12/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 servlet中使用db4o 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? 在web的工程如果想使用db4o,是不能直接使用的,如果想使用的就得做一些初始化的工作,以便在servlet中使用,具體可以看下面的兩個網(wǎng)頁有詳細(xì)的介紹:

??http://java.dzone.com/articles/db4o-java

?http://community.versant.com/documentation/reference/db4o-8.1/java/reference/Content/platform_specific_issues/web/servlets.htm

?

? 可以如此使用:

? ?Db4oServletContextListener.java

?

import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;import com.db4o.Db4oEmbedded; import com.db4o.EmbeddedObjectContainer; import com.db4o.ObjectContainer; import com.db4o.config.EmbeddedConfiguration;public class Db4oServletContextListener implements ServletContextListener {public static final String PREFIX_PATH = "E:/Pattern/PDFBox-v2/";public static final String KEY_DB4O_FILE_NAME = "db4oFileName";public static final String KEY_DB4O_SERVER = "db4oServer";@Overridepublic void contextInitialized(ServletContextEvent event) {System.out.println("context oK");ServletContext context = event.getServletContext();String filePath = PREFIX_PATH + context.getInitParameter(KEY_DB4O_FILE_NAME);EmbeddedConfiguration configEmbedded = Db4oEmbedded.newConfiguration();EmbeddedObjectContainer rootContainer = Db4oEmbedded.openFile(configEmbedded,filePath);context.setAttribute(KEY_DB4O_SERVER, rootContainer);/* ArrayList<exam> result = new ArrayList<exam>();ObjectSet<exam> objectSet = rootContainer.query(exam.class);while (objectSet.hasNext()) {result.add((exam) objectSet.next());}exam[] exams = result.toArray(new exam[result.size()]);System.out.println(exams.length);*/context.log("db4o startup on " + filePath);}@Overridepublic void contextDestroyed(ServletContextEvent event) {ServletContext context = event.getServletContext();ObjectContainer rootContainer = (ObjectContainer) context.getAttribute(KEY_DB4O_SERVER);context.removeAttribute(KEY_DB4O_SERVER);close(rootContainer);context.log("db4o shutdown");}private void close(ObjectContainer container) {if(container != null) {container.close();}} }

? ?自己的servlet代碼:

?

import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.db4o.EmbeddedObjectContainer;public class CategoryServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("OK");EmbeddedObjectContainer container = (EmbeddedObjectContainer) request.getServletContext().getAttribute("db4oServer");}} ?

?

總結(jié)

以上是生活随笔為你收集整理的servlet中使用db4o的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。