新聞中心
java 開源cms opencms的使用,如何去掉兩個/opemcms路徑的方法
第一步:去掉第一個/opencms

成都創(chuàng)新互聯(lián)專注于大同企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),成都商城網(wǎng)站開發(fā)。大同網(wǎng)站建設公司,為大同等地區(qū)提供建站服務。全流程定制開發(fā),專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
把下載來的opencms.jar改成ROOT.jar包,放在tomcat/webapps下,運行安裝。。這樣第一個/opencms 自然就去掉了,不用什么力氣,也不用配置什么別的,如果您不想把opencms放了ROOT目錄,也可以像其它人一樣,配置虛擬目錄來設置,在baidu搜索一下就有很多方法去掉第一下opencms
第二步:去掉第二個/opencms 也是我們要處理的關鍵部分。
現(xiàn)在的任務是要去掉第二個,opencms文檔中,是安裝apache,并使用apache的urlrewrite模塊來對項目的URL進行重定向, 現(xiàn)在我們要使用 urlrewrite來完成這任務,如果不知道urlrewrite的朋友,可以到h ttp:/ /tuckey.o rg/urlr ewrite/下載。
下載完以后,把urlrewrite.zip里面的/WEB-INF/lib/urlrewrite.jar放到我們項目的/WEB-INF/lib/urlrewrite.jar里。
然后,在/WEB-INF/目錄下新建一個urlrewrite.xml文件
注意一定要下載:urlrewrite-3.1.0.jar 版本,因為我之前使用的其它版本,沒有成功。后臺頁面亂碼。
第三步:
至此,已完成了第二個opencms的去除,但如果此時運行項目的話,項目中的URL地址還是會有/opencms/,所以我們要把URL中的這個路徑去掉。
打開/WEB-INF/config/opencms-importexport.xml
找到代碼:vfs-prefix${CONTEXT_NAME}${SERVLET_NAME}/vfs-prefix
將其修改為: vfs-prefix${CONTEXT_NAME}/vfs-prefix
現(xiàn)在,第二個opencms的去除已成功。
用java做一個CMS新聞發(fā)布系統(tǒng),要用到access2003.
參考如下代碼:
MS Access在測試階段比較利于攜帶,Web開發(fā)初期我經(jīng)常使用它。后期再移植到SQLServer或Oracle上。但最近在需要對數(shù)據(jù)庫中插入圖片文件時,發(fā)現(xiàn)了一個問題,即JDK自帶的JDBC-ODBC不支持java.sql.Blob里的方法,經(jīng)過查閱Java API和程序調(diào)試,我找到了個變通的方法,即:
1,在寫入BLOB類型字段時,使用java.sql.PreparedStatement的setBinaryStream方法,
2,讀出BLOB類型字段時,因為返回的是字節(jié)數(shù)組byte[]類型,可以把它轉(zhuǎn)換成ByteArrayInputStream然后讀出內(nèi)容寫到文件里去。
這樣即使用JDK自帶的JDBC-ODBC驅(qū)動, 也能自如的在數(shù)據(jù)庫里讀寫上傳下載的文件了,哈哈。
import java.sql.*;
import java.io.*;
//對BLOB字段先寫入(要求被寫入的文件存在),再讀出來
//要求先建立一個item表,有三個字段,id(int),file_name(char),file_blob(blob)
//對Access, blob字段應該設置成為“OLE對象”類型
public class blobtest{
public static void main(String[] args){
Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*這里的數(shù)據(jù)庫的url一定要寫正確,這是關鍵,其中DBQ可以絕對路徑,也可以是相對路徑,為了體現(xiàn)數(shù)據(jù)存儲路徑的/獨立性,你可以將數(shù)據(jù)庫copy到不同的位試一下*/
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=blob.mdb";
conn = DriverManager.getConnection(dbUrl,"","");
File file1=new File("fileToWrite.doc");
File file2=new File("fileRead.doc");
//BlobWriteForOracle( conn, file1);
//BlobReadForOracle( conn, file2);
BlobWriteForAccess( conn, file1);
BlobReadForAccess( conn, file2);
conn.close();
}catch(Exception ex){
System.err.println(ex.getMessage());
public static void BlobWriteForAccess( Connection conn, File file){
try{
conn.setAutoCommit(false); // 取消Connection對象的auto commit屬性
String file_name=file.getName();
// get maxid ( to avoid insert id repeatly )
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select max(id) from item");
rs.next();
int maxid = rs.getInt(1);
//maxid = (maxid==null)?0:maxid;
int id = maxid+1 ;
//System.out.println("write_id="+id);
PreparedStatement pstmt = conn.prepareStatement( "insert into item ( id, file_name, file_blob ) values ( " + id + ", ? , ? )" );
FileInputStream in = new FileInputStream(file );
int length = in.available();
pstmt.setString( 1, file_name );
pstmt.setBinaryStream( 2, in , in.available() );
System.out.println( "插入了 "+ pstmt.executeUpdate ()+ " 行數(shù)據(jù), "
+ "id =" + id
+ ", 文件名是" + file.toString() +" , 共 "+ length +" bytes" );
conn.commit();
pstmt.close();
}catch(Exception ex){
ex.printStackTrace();
System.out.print("["+ex.getMessage()+"]");
try{
conn.rollback();
}catch(SQLException sqle){
System.err.println(sqle.getMessage());
}
}
public static void BlobReadForAccess( Connection conn, File file){
try{
conn.setAutoCommit(false); // 取消Connection對象的auto commit屬性
String file_name=file.getName();
// get maxid ( to avoid insert id repeatly )
Statement stmt1 = conn.createStatement();
ResultSet rs1 = stmt1.executeQuery("select max(id) from item");
rs1.next();
int maxid = rs1.getInt(1);
//maxid = (maxid==null)?0:maxid;
int id = maxid;
//System.out.println("read_id="+id);
String sql="SELECT file_blob FROM item WHERE id=" + id + ""; //
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
rs.next();
Object obj1 = rs.getObject("file_blob"); // 得到BLOB對象
//System.out.println("type is :"+obj1.getClass().getName());
byte[] blob=(byte[])obj1;
FileOutputStream out=new FileOutputStream(file); // 建立輸出流
ByteArrayInputStream in=new ByteArrayInputStream(blob); // 建立輸入流
int size=1024;
byte[] buffer=new byte[size]; // 建立緩沖區(qū)
int len;
while((len=in.read(buffer)) != -1)
out.write(buffer,0,len);
in.close();
out.close();
conn.commit();
}catch(Exception ex){
ex.printStackTrace();
System.out.print("["+ex.getMessage()+"]");
try{
conn.rollback();
}catch(SQLException sqle){
System.err.println(sqle.getMessage());
}
java cms
CMS是什么?
CMS是Content Management System的縮寫,意位“內(nèi)容管理系統(tǒng)”。內(nèi)容管理系統(tǒng)是一種位于Web前端(Web服務器)和后端辦公系統(tǒng)或流程(內(nèi)容創(chuàng)作、編輯)之間的軟件系統(tǒng)。
內(nèi)容的創(chuàng)作人員、編輯人員、發(fā)布人員使用內(nèi)容管理系統(tǒng)來提交、修改、審批、發(fā)布內(nèi)容。這里指的“內(nèi)容”還包括文件、表格、圖片、數(shù)據(jù)庫中的數(shù)據(jù)甚至視頻等一切你想要發(fā)布到互聯(lián)網(wǎng)中的信息。
一個內(nèi)容管理系統(tǒng)通常有幾個要素:文檔模板、腳本語言或標記語言、與數(shù)據(jù)庫集成。內(nèi)容的包含物右內(nèi)嵌入頁面的特殊標記控制。這些標記對于一個內(nèi)容管理系統(tǒng)通常是唯一的。這些系統(tǒng)通常有復雜的操作語言支持,如 Python,Perl或Java等。
內(nèi)容管理在網(wǎng)站中的作用
CMS對站點管理和編輯人員的作用最大。這其中的好處是能夠使用模板和通用的設計元素以確保整個網(wǎng)站的協(xié)調(diào)。制作者只要在他們的文檔中采用少量的模板代碼,即可把精力集中在設計的內(nèi)容上了。要改變網(wǎng)站的外觀,管理員只須修改模板而不是一個個單獨的頁面。
很多人內(nèi)容管理系統(tǒng)允許對網(wǎng)站的不同層次面人員賦予不同等級的訪問權限,這使得他們不必研究操作系統(tǒng)級的權限設置,只改動瀏覽器借口即可完成。目前,新浪的CMS是C++制作的,重點強調(diào)數(shù)據(jù)結構的豐富,功能非常強大。評論回復系統(tǒng)做的最好的是網(wǎng)易,延伸閱讀做得也不錯。搜狐的圖庫系統(tǒng)做得最好。
其他的網(wǎng)站功能如搜索引擎、日歷、Web郵件等也會以第三方插件的形式集成進來。
國內(nèi)CMS三大分類情況
由于針對的目標用戶不同,各個內(nèi)容管理系統(tǒng)的一些特點都會有所不同。對于要想把CMS應用到網(wǎng)站中的站長而言,為了準確的網(wǎng)站定位,了解國內(nèi)的CMS內(nèi)容管理系統(tǒng)的分類情況是非常有必要的。
第一類,面向政府、事業(yè)單位,有內(nèi)外網(wǎng)的應用,特點是用戶間的需求差距大,內(nèi)容管理只是一個大的系統(tǒng)中的某一個部分,一個網(wǎng)站中可能有多個CMS系統(tǒng)。一般在實施時要求制定開發(fā),不可能用現(xiàn)成產(chǎn)品來滿足需求。這樣的解決方案有:方正祥羽、清華萬博、WITS、中關村軟件等。這一類別的產(chǎn)品價格非常高,通常在幾萬元,也可能上百萬!
第二類,面向政府、媒體、ICP、大型企業(yè),特點是維護內(nèi)容的人數(shù)多,水平有高有低,但是需求比較明確,做各種類型的信息發(fā)布平臺,要求承受的產(chǎn)品級的解決方案。相應的產(chǎn)品有:TurboCMS、TRS WCM、龍訊。
第三類,面向企業(yè)、個人,特點為用戶是網(wǎng)站技術愛好者,喜歡鉆研。需求上可能比較復雜,比如要跟BBS、用戶注冊等應用集成在一起,滿足個性化的需求,最好有原代碼,可以自己根據(jù)需要修改等等。
誰有開源的 java cms 要有源代碼的
又是那種要求3、4天或一個星期做一個網(wǎng)站的壓榨型公司出來的吧?雖說及時利益豐厚,但這種公司遲早會被淘汰。收了客戶的錢,就這么做客戶的網(wǎng)站。(如果你說這個網(wǎng)站只要1000元我們接了,那自己去接單就好了,在網(wǎng)上,去公司推銷,賺的錢全給自己,而不是賺的錢自己只拿百分之幾。)
好吧,我以上說的都是廢話。。。。。。
-------------------------------------------------------
java 內(nèi)容管理系統(tǒng)(CMS)的源代碼都在賣錢,不可能有掛在網(wǎng)上的,最好的辦法是自己組織開發(fā)人員做一個。
或者拿到另一個娛樂網(wǎng)站的源代碼,自己慢慢“套”
網(wǎng)站題目:javacms代碼 java cms
鏈接地址:http://m.biofuelwatch.net/article/doecdis.html


咨詢
建站咨詢
