導航:首頁 > 編程語言 > 內容管理系統java

內容管理系統java

發布時間:2025-02-24 06:06:30

1. 基於java的開源CMS有哪些推薦,各自特點是什麼

選了10個最強大、最易用的CMS,向大家做一個簡源告要介紹。

Alfresco是一個開源的企業網站內容管理系統,它提供了文檔管理、多人協作、記錄管理、知識管理網頁內容和圖像管理等功能。它使用Spring、 Hibernate、 Lucene 和JSF等最新java技術構建了模塊化的系統架構。

Alfresco官方網站:http://www.alfresco.com/

中文教程:http://blog.csdn.net/alfresco/

DotCMS是一個開源的企業級內容管理系統,它融入了電子商 務、個性化設置、客戶關系管理工具等功能,它可以方便的建立基於各種關系的數據結構和資料庫,它可以使用模板快速創建頁面,並且提供了一個強雹臘明大的所見即所 得(WYSIWYG)編輯器。用戶可以使用載入外部模塊的功能快速的建立Ajax應用、搜索、MP3播放器、幻燈片和相冊等功能。

DotCMS官方網站http://dotcms.org/

中文安裝教程http://www.javaeye.com/wiki/topic/277794

Magnolia是一個老牌的java內容管理系統,目前已經發布了第四版。它的獨特之處在於可以定製內容模型,以返回數組形式來搞定各種不確定的 功能。它遵循W3C標准並且在搜索引擎優化上有許多優勢。同時它支持java內容倉庫( java content repositories , JCR) 的API。

Magnolia官方網站http://www.magnolia-cms.com/home.html

OpenCms

它提供了一套建立和維護網站的方便的工具。在內容建設方面,它擁有一個易於使用的界面和所見即所得編輯器,在網頁生成上它使用了一個先進的頁面模板。

OpenCMS官方網站http://www.opencms.org/opencms/en/index.html

中文網站http://www.opencms.cn/

Blandware AtLeap是一個多語種的免費Java內容管理系統,它包含了全文搜索引擎,可以算是一個能讓你方便的編寫應用的網站框架。

Atleap官方網站https://atleap.dev.java.net/

Fedora是「Flexible Extensible Digital Object Repository Architecture」的縮寫,並不是Linux發行版Fedora,是一個數字資源管理系統,它可以創建很多類型的數字圖書館、資料庫、檔案館系統 等。

Fedora官方網站http://www.fedora-commons.org/

Apache LenyaOpenEdit是一個開源的內容管理系統,它旨在建設基於在線數字資產的多媒體網站。它提供在線編輯,動態布局,拼寫檢查,用戶管理器,文件管理器,版本控制和通知工具。同時包含企業級的插件,如電子商務,內容管理,博客,活動日程表,社交網路工具等。

OpenEdit官方網站http://www.openedit.org/

這是一個開源的 Java/XML 內容管理系統,提供了局世版本控制、多站點管理、調度、搜索、所見即所得編輯以及工作流程等功能。Apache Lyenya使用基於模塊的Cocoom開源程序框架。

Apache Lyenya官方網站http://lenya.apache.org/
參考資料: http://www.adminbang.com/Webbiz/Exp/20091002-79842.html

2. 什麼是「JCR」

英語縮寫詞JCR,全稱為"Java Content Repository",中文即為"Java內容倉庫"。這個術語主要應用於軟體開發領域,特別是在內容管理系統(CMS)中。JCR的流行度達到了4019,表明它在技術社區中被廣泛使用。它基於XML技術,實現了Java內容倉庫與關系型資料庫的雙向映射,這使得數據管理更為高效。

JCR在技術上的一大優點是能夠無縫整合Spring事務基礎設施,無論是聲明式還是編程式方式,都能有效地應用到Java內容倉庫中,為開發提供了強大的支持。例如,在Jackrabbit基礎上使用JCR進行模擬數據分析的管理,可以逐步實現並藉助Spring模塊進行操作,簡化開發流程。

總的來說,JCR是Java內容倉庫的縮寫,它是一個用於存儲和管理內容的Java技術框架,特別是在內容管理和內容管理系統中扮演著核心角色。這個縮寫詞的使用體現了Java技術在內容管理領域的廣泛應用和其在技術開發中的重要性。請注意,以上內容僅供學習和交流,版權歸屬原作者。

3. Java編寫圖書管理系統,使用XML存儲

importjava.io.File;
importjava.io.FileOutputStream;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
importorg.dom4j.Document;
importorg.dom4j.DocumentHelper;
importorg.dom4j.Element;
importorg.dom4j.io.OutputFormat;
importorg.dom4j.io.SAXReader;
importorg.dom4j.io.XMLWriter;

publicclassBook{

privateintno;
privateStringname;
privatedoublevalue;

publicBook(){
}

publicBook(intno,Stringname,doublevalue){
this.no=no;
this.name=name;
this.value=value;
}

publicdoublegetValue(){
returnvalue;
}

publicvoidsetValue(doublevalue){
this.value=value;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicintgetNo(){
returnno;
}

publicvoidsetNo(intno){
this.no=no;
}
}

classBookList{

privateList<Book>bookList;

publicBookList(){
bookList=readXML();
}

publiclonggetCount(){
returnbookList.size();
}

publicList<Book>getBookList(){
returnbookList;
}

publicvoidsetBookList(List<Book>bookList){
this.bookList=bookList;
}

publicvoidadd(Bookbook){
bookList.add(book);
}

publicbooleandelete(Stringname){
Bookbook=query(name);
returnbookList.remove(book);
}

publicvoipdate(BookbookBefore,BookbookAfter){
bookList.remove(bookBefore);
add(bookAfter);
}

publicBookquery(Stringname){
Booktemp=null;
for(Bookbook:bookList){
if(book.getName().equals(name)){
temp=book;
}
}
returntemp;
}

(Bookbook){
try{
Filefile=newFile("D:\book.xml");
Documentdocument=null;
Elementroot=null;
if(!file.exists()){
//新建student.xml文件並新增內容
document=DocumentHelper.createDocument();
root=document.addElement("Books");//添加根節點
}else{
SAXReadersaxReader=newSAXReader();
document=saxReader.read(file);
root=document.getRootElement();//獲得根節點
}
ElementsecondRoot=root.addElement("Book");//二級節點
//為二級節點添加屬性,屬性值為對應屬性的值
secondRoot.addElement("no").setText(book.getNo()+"");
secondRoot.addElement("name").setText(book.getName()+"");
secondRoot.addElement("value").setText(book.getValue()+"");

OutputFormatformat=OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriterwriter=newXMLWriter(newFileOutputStream("D:\book.xml"),format);
writer.write(document);
writer.close();
document.clearContent();
}catch(Exceptione){
e.printStackTrace();
}
}

publicsynchronizedList<Book>readXML(){
List<Book>list=newArrayList<Book>();//創建list集合
Filefile=null;
try{
file=newFile("D:\book.xml");//讀取文件
if(file.exists()){
SAXReadersaxReader=newSAXReader();
Documentdocument=saxReader.read(file);
ListnodeList=document.selectNodes("Books/Book");
for(inti=0;i<nodeList.size();i++){
Elementel=(Element)nodeList.get(i);
Bookbook=newBook();
book.setNo(Integer.parseInt(el.elementText("no")));
book.setName(el.elementText("name"));
book.setValue(Double.parseDouble(el.elementText("value")));
list.add(book);
}
}
}catch(Exceptione){
e.printStackTrace();
}
returnlist;
}
}

classTest{

publicstaticvoidmain(Stringargs[]){
BookListbl=newBookList();
booleanbBreak=true;
while(bBreak){
System.out.println("請輸入操作代碼:");
System.out.println("1:添加2:刪除3:修改4:查詢5:書籍統計6:退出");
Scannersc=newScanner(System.in);
intcode=sc.nextInt();
if(code==1){
System.out.println("請輸入編號");
intno=sc.nextInt();
System.out.println("請輸入書名");
Stringname=sc.next();
System.out.println("請輸入售價");
doublevalue=sc.nextDouble();
Bookbook=newBook(no,name,value);
bl.add(book);
bl.writeXmlDocument(book);
}elseif(code==2){
System.out.println("請輸入要刪除的書籍名");
Stringname=sc.next();
if(bl.delete(name)){
System.out.println("刪除成功");
}else{
System.out.println("書籍不存在");
}
}elseif(code==3){
System.out.println("請輸入要修改的書籍名");
Stringname=sc.next();
BookbookBefore=bl.query(name);

System.out.println("請輸入新的編號");
intnewNo=sc.nextInt();
System.out.println("請輸入新的書名");
StringnewName=sc.next();
System.out.println("請輸入新的售價");
doublevalue=sc.nextDouble();
BookbookAfter=newBook(newNo,newName,value);
bl.update(bookBefore,bookAfter);
}elseif(code==4){
System.out.println("請輸入要查詢的書籍名");
Stringname=sc.next();
Bookbook=bl.query(name);
System.out.println("編號:"+book.getNo()+"書名:"+book.getName()+"售價:"+book.getValue());
}elseif(code==5){
List<Book>list=bl.getBookList();
System.out.println("總書籍數:"+bl.getCount());
for(Bookbook:list){
System.out.println("編號:"+book.getNo()+"書名:"+book.getName()+"售價:"+book.getValue());
}
}elseif(code==6){
bBreak=false;
}
}
}
}

jar 包 dom4j.jar jaxen-1.1.4.jar

閱讀全文

與內容管理系統java相關的資料

熱點內容
Android框架工程師 瀏覽:384
計算機編程機器人工程師招聘 瀏覽:681
怎麼添加mite伺服器 瀏覽:579
方舟怎麼命令一隻恐龍手機版 瀏覽:709
javaqq郵箱發送 瀏覽:168
cms淘寶客網站源碼 瀏覽:930
如何連接選股伺服器 瀏覽:28
華為丟了一個文件夾 瀏覽:519
我們買的絕地求生屬於什麼伺服器 瀏覽:413
linux網卡配置dhcp 瀏覽:284
安卓子系統文件夾 瀏覽:279
java數20個 瀏覽:867
matplotlib源碼 瀏覽:795
linux查看uid 瀏覽:18
android延時跳轉 瀏覽:180
如何模擬app對服務發出請求 瀏覽:805
程序員小陳的一天 瀏覽:701
凸多邊形凹多邊形凸包演算法 瀏覽:913
電腦如何加密碼不讓別人知道 瀏覽:910
如何用壓縮包安裝軟體 瀏覽:870