servlet中使用db4o
生活随笔
收集整理的這篇文章主要介紹了
servlet中使用db4o
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? 在web的工程如果想使用db4o,是不能直接使用的,如果想使用的就得做一些初始化的工作,以便在servlet中使用,具體可以看下面的兩個網頁有詳細的介紹:
??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");}} ??
總結
以上是生活随笔為你收集整理的servlet中使用db4o的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSP高校信息管理系统myeclipse
- 下一篇: Redis主从与集群