㈠ tomcat下web應用的基本結構,各文件夾裡面存放什麼
以tomcat6.0為例
安裝好完畢後,目錄如下:
bin :
1 存放著jar(tomcat中所有的項目以及tomcat本身所使用的jar,即公用的。例如:你在 tomcat中部署了2個項目,這個2個項目裡面都用同一個jar去連接資料庫,這個時候,你可以把這個jar放在這里)
2 tomcat啟動/關閉的腳本(綠色版的是腳本,安裝版的是圖形界面)
conf:
配置文件
例如:
1 server.xml(Tomcat的主要配置文件,這里可以配置tomcat項目埠號,字元集,域名等)。
2 web.xml:Tomcat配置的web應用設置預設值的文件(web.xml是web項目中不可缺少的,但是你寫了在webapps下建立一個文件夾,然後再里放一個JSP然後運行它,這個時候能運行成功,因為:Tomcat配置的web應用會自動設置預設值的文件)。
lib:
Tomcat使用的jar文件。
例如:系統裡面有環境變數,當你運行tomcat的時候,會自動載入進來
logs:
日誌
temp:
臨時文件(忽略它,相當於系統垃圾)
webapps:
應用程序部署在這里
work:
緩存
例如:你部署了一個叫demo的項目,你運行的時候,tomcat會解釋你的項目,這個時候,這個裡面存放的全是解釋你項目後的東西。可以清掉。啟動tomcat後還會自動生成。但是要注意,如果tomcat啟動後,你清掉了,那麼項目運行不了
不廢話了,3~!老闆來了~!
㈡ java web項目中,文件位置
1.JSP 所有的網頁代碼
2.js所有的javaScript代碼
3.bo一般是java的類文件
4.一般是處理資料庫方法的介面
5.impl是上述介面的實現
6.service 是 處理資料庫邏輯的服務
7.action 是處理業務邏輯的
8.xml是配置文件
9.jsp得到請求到 structs的配置文件里找相應的配置方法,根據配置方法到action里找到處理的方法,然後執行,返回一個結果,再到剛才的配置文件里查找返回處理結果,然後返回jsp頁面上
10.這其中,action里的處理的時候,可能會跟資料庫發生交互,就會調用service里的方法,service里的方法又會通過介面調用impl里的方法,然後bo里是與資料庫一一對應的映射文件,對應著資料庫里的每張表。
㈢ java怎麼讀取web工程裡面的文件
平時寫程序的時候,很多時候提示文件找不到,而拋出了異常,現在整理如下
一 相對路徑的獲得
說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的java項目還是web項目)
String relativelyPath=System.getProperty("user.dir");
上述相對路徑中,java項目中的文件是相對於項目的根目錄
web項目中的文件路徑視不同的web伺服器不同而不同(tomcat是相對於 tomcat安裝目錄\bin)
二 類載入目錄的獲得(即當運行時某一類時獲得其裝載目錄)
1.1)通用的方法一(不論是一般的java項目還是web項目,先定位到能看到包路徑的第一級目錄)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(test.txt文件的路徑為 項目名\src\test.txt;類TestAction所在包的第一級目錄位於src目錄下)
上式中將TestAction,test.txt替換成對應成相應的類名和文件名字即可
1.2)通用方法二 (此方法和1.1中的方法類似,不同的是此方法必須以'/'開頭,
InputStream is=Test1.class.getResourceAsStream("/test.txt");
(test.txt文件的路徑為 項目名\src\test.txt,類Test1所在包的第一級目錄位於src目錄下)
三 web項目根目錄的獲得(發布之後)
1 從servlet出發
可建立一個servlet在其的init方法中寫入如下語句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (關鍵)
結果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext為項目名字)
如果是調用了s1.getRealPath("")則輸出D:\工具\Tomcat-6.0\webapps\002_ext(少了一個"\")
2 從httpServletRequest出發
String cp11111=request.getSession().getServletContext().getRealPath("/");
結果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
四 classpath的獲取(在Eclipse中為獲得src或者classes目錄的路徑)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
輸出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse為src某一個包中的類,下同)
㈣ Javaweb項目中頁面展示是用什麼文件
使用jsp和html展示內容以及和後端交互。
html是靜態頁面,jsp是動態頁面,日常開發中,這兩種都是結合使用的。
JSP全名為JavaServerPages,中文名叫java伺服器頁面,其根本是一個簡化的設計,它 是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。JSP技術有點類似ASP技術,它是在傳統的網頁HTML標准通用標記語言的子集文件*.htm,*.html中插入Java程序段Scriptlet和JSP標記tag,從而形成JSP文件,後綴名為(*.jsp),用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。
㈤ myeclipse的web項目下面的lib文件夾怎樣在下面新建文件夾
最簡單的方式:
1、右擊該新建的文件夾-->build
path-->add
build
path就可以了。如果右擊單個包就是將單個包加入至build
path的意思。
試下看吧。
㈥ Java web開發項目中各文件的作用
JSP 所有的網頁代碼
js所有的javaScript代碼
bo一般是java的類文件
一般是處理資料庫方法的介面
impl是上述介面的實現
service 是 處理資料庫邏輯的服務
action 是處理業務邏輯的
xml是配置文件
jsp得到請求到 structs的配置文件里找相應的配置方法,根據配置方法到action里找到處理的方法,然後執行,返回一個結果,再到剛才的配置文件里查找返回處理結果,然後返回jsp頁面上
這其中,action里的處理的時候,可能會跟資料庫發生交互,就會調用service里的方法,service里的方法又會通過介面調用impl里的方法,然後bo里是與資料庫一一對應的映射文件,對應著資料庫里的每張表
㈦ java web項目代碼包含哪些文件夾
java zip 壓縮文件以及整個文件夾目錄
public static final String EXT = ".zip";
private static final String BASE_DIR = "";
// 符號"/"用來作為目錄標識判斷符
private static final String PATH = "/";
private static final int BUFFER = 1024;
/**
* 壓縮
*
* @param srcPath 需要壓縮的文件(目錄) 的路徑
* @throws Exception
*/
public static void compress(String srcPath) throws Exception {
File srcFile = new File(srcPath);
compress(srcFile);
}
/**
* 壓縮
*
* @param srcFile 需要壓縮的文件(目錄) 的路徑流
* @throws Exception
*/
public static void compress(File srcFile) throws Exception {
String name = srcFile.getName();
String basePath = srcFile.getParent();
String destPath = basePath +"/"+ name + EXT;
compress(srcFile, destPath);
}
/**
* 壓縮
*
* @param srcFile
* 源路徑
* @param destPath
* 目標路徑
* @throws Exception
*/
public static void compress(File srcFile, File destFile) throws Exception {
// 對輸出文件做CRC32校驗
CheckedOutputStream cos = new CheckedOutputStream(new FileOutputStream(
destFile), new CRC32());
ZipOutputStream zos = new ZipOutputStream(cos);
compress(srcFile, zos, BASE_DIR);
zos.flush();
zos.close();
}
/**
* 壓縮文件
*
* @param srcFile
* @param destPath
* @throws Exception
*/
public static void compress(File srcFile, String destPath) throws Exception {
compress(srcFile, new File(destPath));
}
/**
* 壓縮
*
* @param srcFile
* 源路徑
* @param zos
* ZipOutputStream
* @param basePath
* 壓縮包內相對路徑
* @throws Exception
*/
private static void compress(File srcFile, ZipOutputStream zos,
String basePath) throws Exception {
if (srcFile.isDirectory()) {
compressDir(srcFile, zos, basePath);
} else {
compressFile(srcFile, zos, basePath);
}
}
/**
* 文件壓縮
*
* @param srcPath
* 源文件路徑
* @param destPath
* 目標文件路徑
*
*/
public static void compress(String srcPath, String destPath)
throws Exception {
File srcFile = new File(srcPath);
compress(srcFile, destPath);
}
/**
* 壓縮目錄
*
* @param dir
* @param zos
* @param basePath
* @throws Exception
*/
private static void compressDir(File dir, ZipOutputStream zos,
String basePath) throws Exception {
File[] files = dir.listFiles();
// 構建空目錄
if (files.length < 1) {
ZipEntry entry = new ZipEntry(basePath + dir.getName() + PATH);
zos.putNextEntry(entry);
zos.closeEntry();
}
for (File file : files) {
// 遞歸壓縮
compress(file, zos, basePath + dir.getName() + PATH);
}
}
/**
* 文件壓縮
*
* @param file
* 待壓縮文件
* @param zos
* ZipOutputStream
* @param dir
* 壓縮文件中的當前路徑
* @throws Exception
*/
private static void compressFile(File file, ZipOutputStream zos, String dir)
throws Exception {
/**
* 壓縮包內文件名定義
*
* <pre>
* 如果有多級目錄,那麼這里就需要給出包含目錄的文件名
* 如果用WinRAR打開壓縮包,中文名將顯示為亂碼
* </pre>
*/
ZipEntry entry = new ZipEntry(dir + file.getName());
zos.putNextEntry(entry);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
file));
int count;
byte data[] = new byte[BUFFER];
while ((count = bis.read(data, 0, BUFFER)) != -1) {
zos.write(data, 0, count);
}
bis.close();
zos.closeEntry();
}
/**
* 解壓縮功能.
* 將ZIP_FILENAME文件解壓到ZIP_DIR目錄下.
* @throws Exception
*/
public static void upZipFile() throws Exception{
String ZIP_DIR="d:\\";
String ZIP_FILENAME="D:\\xxx.zip";
ZipFile zfile=new ZipFile(ZIP_FILENAME);
Enumeration zList=zfile.entries();
ZipEntry ze=null;
byte[] buf=new byte[1024];
while(zList.hasMoreElements()){
ze=(ZipEntry)zList.nextElement();
if(ze.isDirectory()){
File f=new File(ZIP_DIR+ze.getName());
f.mkdir();
continue;
}
OutputStream os=new BufferedOutputStream(new FileOutputStream(getRealFileName(ZIP_DIR, ze.getName())));
InputStream is=new BufferedInputStream(zfile.getInputStream(ze));
int readLen=0;
while ((readLen=is.read(buf, 0, 1024))!=-1) {
os.write(buf, 0, readLen);
}
is.close();
os.close();
}
zfile.close();
}
/**
* 給定根目錄,返回一個相對路徑所對應的實際文件名.
* @param baseDir 指定根目錄
* @param absFileName 相對路徑名,來自於ZipEntry中的name
* @return java.io.File 實際的文件
*/
public static File getRealFileName(String baseDir, String absFileName){
String[] dirs=absFileName.split("/");
File ret=new File(baseDir);
if(dirs.length>1){
for (int i = 0; i < dirs.length-1;i++) {
ret=new File(ret, dirs[i]);
}
if(!ret.exists())
ret.mkdirs();
ret=new File(ret, dirs[dirs.length-1]);
return ret;
}
return ret;
}
㈧ 的web應用程序項目下的文件都是什麼文件
通過發布 Web 應用程序項目,Visual Studio 可將 Web 應用程序的文件編譯到單個程序集中,然後將編譯的程序集復制到指定的位置。ASP.NET Web 應用程序項目與標準的 Visual Studio 2005 類庫項目共享相同的配置設置和行為。可將 Web 應用程序發布到本地文件夾或共享文件夾、FTP 網站或者通過 URL 訪問的網站。位於Visual Studio「生成」菜單上的「發布網站」對話框使您能夠生成和發布 Web 應用程序。另外,可以選擇從該網站刪除源代碼。這提供了保護知識產權的措施並使其他人更難訪問網站的源代碼。有關預編譯過程中您的文件所發生情況的更多信息,請參見 ASP.NET 預編譯期間的文件處理。注意「發布網站」對話框僅適用於使用 ASP.NET Web 應用程序模板創建的項目。在發布 Web 應用程序之前,請檢查原始網站的配置並注意以下幾點:必須存在於遠程位置的任何設置。具體來說,就是檢查如連接字元串、成員資格設置和其他安全設置等設置,並確保這些設置適用於生產環境。必須在發布的網站上更改的任何設置。例如,您可能希望在發布網站後禁用調試、跟蹤及自定義錯誤。由於配置設置是通過繼承而來的,因此可能需要檢查多個文件以查找所有適用的設置。除了應用程序中的任何 Web.config 文件之外,配置設置還可能位於「系統根目錄\Microsoft.NET\Framework\version\CONFIG」目錄下的 Machine.config 文件或根 Web.config 文件。如果您沒有查看根配置文件的許可權,則可以使用如何:以編程方式查看繼承的配置設置和本地配置設置中的代碼示例輸出包含您網站配置設置的完整列表的文件,該文件被格式化為標準的配置文件。有關配置設置的定義,請參見常規配置設置 (ASP.NET) 和ASP.NET 配置設置。注意若要完成下面的過程,您必須在目標位置同時擁有創建和寫入許可權。發布Web 應用程序項目在「生成」菜單上,單擊「發布 項目名稱」選項。在「發布網站」對話框中,單擊省略號按鈕 (…) 瀏覽至要發布 Web 應用程序項目的位置。選擇「用本地副本替換匹配的文件」復選框或選擇「發布前刪除所有現有的文件」復選框。選擇希望如何將 Web 應用程序項目文件復制到新位置:是「僅限於運行該應用程序所需的文件」、「所有項目文件」,還是「源項目文件夾中的所有文件」。同時,通過選擇相關復選框可包括 App_Data 文件夾中的文件。單擊「確定」發布 Web 應用程序項目。完成發布時,在任務欄中即顯示「發布成功」。對位於目標位置的 Web 應用程序進行所需的任何配置更改。有關更多信息,請參見如何:配置已發布的網站。注意為了提高安全性,最好對特定配置設置進行加密。有關更多信息,請參見使用受保護的配置加密配置信息。請參見參考「發布 Web」對話框其他資源>Web Application Projects Overview
㈨ eclipse WEB項目開發時,項目文件組織結構是怎樣的
按照 Java EE 規范的規定,一個典型的 Web 應用程序有四個部分:
1. 公開目錄 ;
2. WEB-INF/web.xml 文件,發布描述符(必選) ;
3. WEB-INF/classes 目錄,編譯後的 Java類文件(可選) ;
4. WEB-INF/lib 目錄,Java類庫文件(*.jar) (可選) ;
公開目錄存放所有可以被用戶的訪問的資源, 包括 .html, .jsp, .gif, .jpg, .css, .js, .swf 等等。
WEB-INF 目錄是一個專用區域, 容器不能把此目錄中的內容提供給用戶。
這個目錄下的文件只供容器使用,裡麵包含不應該由客戶直接下載的資源,
例如: Servlet(這些組件包括應用程序邏輯以及對其他資源如資料庫的可能訪問), Web應用程序中servlet可直接訪問的其他任何文件,在伺服器方運行或者使用的資源(如 Java類文件和供 servlet 使用的 JAR文件),由您的應用程序生成的臨時文件,,發布描述符以及其它任何配置文件。
這些資源是專用的, 因此只能由它們自己的 Web應用程序及容器訪問。
特別地,JSP/Servlet 程序文件也能通過 ServletContext 訪問到這個目錄下的文件,
例如 JSP 中可以通過application.getRealPath(「/WEB-INF/web.xml」) 訪問到發布描述符文件的路徑。
Web容器要求在你的應用程序中必須有 WEB-INF 目錄。
注意: 如果你的 Web 應用程序中沒有包含這個目錄, 它可能將無法工作
WEB-INF 中包含著發布描述符, 一個 classes 目錄和一個 lib目錄, 以及其它內容。
發布描述符(deployment descriptors)是 J2EE Web 應用程序不可分割的一部分(也就是說是它的最小部分, 必不可缺的一部分)。
它們在應用程序發布之後幫助管理 Web 應用程序的配置。
對於Web 容器而言, 發布描述符是一個名為 web.xml 的 XML 文件, 存儲在 Web 應用程序的 /WEB-INF目錄下。
發布描述符有多種用途:
• 為 Servlet 和 Web 應用程序提供初始化參數 這使我們的Web應用程序中的硬性編寫的代碼的初始化值更少。 例如常見的 <param-name>, <param-value>標記, 就可以為Servlet 提供參數, 這個參數可以在 init() 方法中載入。
Struts 的 ActionServlet 也是通過這種方式來找到它們需要的配置文件 struts-config.xml 的位置, 從而載入並分析它,來初始化 Struts 框架用到的各種 FromBean, Action, Forward等。
• Servlet/JSP 定義 可以為 Web 應用程序中的每個 Servlet 或者預編譯的 JSP 網頁提供定義。
包括Servlet/JSP的名字, Servlet/JSP 的類以及一個可選的描述。
• Servlet/JSP 映射 Web容器使用這些信息把進入請求映射到 servlet 和 JSP 網頁。
• MIME類型 由於每個 Web 應用程序可以包含多種內容類型, 因此我們可以在發布描述符中為每一種類型指定 MIME 類型。
• 安全性 我們可以使用發布描述符來管理應用程序的訪問控制。 例如, 可以指定我們的Web應用程序是否需要登錄, 如果需要的話, 應該使用什麼登錄頁面, 以及用戶會作為何種角色。
發布描述符還可以用來自定義其他元素, 包括歡迎網頁, 出錯網頁, 會話配置等等。
classes 目錄用於存儲編譯過的 servlet 及其它程序類, 例如 JavaBean。
如果一個程序有打包的 JAR 文件(例如一個第三方 API 打包成了一個 JAR 文件, 如 Struts 框架的類庫struts.jar, Mysql 的資料庫 JDBC 驅動程序文件 mysql-connector-java-3.1.11-bin.jar 等),
那麼它們可以被復制到lib目錄中(如果解壓縮這些壓縮包的話, 請將它們復制到classes目錄中)。
Web 容器使用這兩個目錄來查找 servlet 及其他相關類, 也就是說, 容器的類裝入器會自動查看 classes 目錄, 以及 lib目錄下的 JAR文件。
這就意味著你不需要明確的把這些類和 JAR文件添加到 CLASSPATH中。
Web容器自動將這兩個目錄中的文件加入 Web應用的類路徑中。