一個java web項目 目錄分爲兩個部分
① Web應用的根目錄下子目錄WEB-INF,裏面內容不能被客戶端訪問的,包括專用Web應用程序軟件,包括Servlet類文件、部署描述符web.xml、外部庫以及其他任何由此應用程序使用的專用文件。
② 所有位於WEB-INF之外的文件都被看作是公共的,客戶端是可以訪問到的。資源包括HTML頁面、JSP頁面和圖像等。
位於WEB-INF內的web.xml可以用來配置servlet
web.xml的模板(一個web.xml中可以配置多個Servlet)
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>servlet的名</servlet-name> <servlet-class>servlet類全名,包含包名</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet的名</servlet-name> / <url-pattern>servlet的路徑</url-pattern> / </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
web靜態內容和動態內容
靜態:返回頁面每個客戶端都相同。 動態:各個客戶端的頁面各不相同。
產生動態內容的Web輔助應用:CGI & Servlet
CGI(Common Gateway Interface): 可以產生動態內容,跨語言(C/C++, Perl, python...)
1.本身是一個進程(數據共享,跨進程調用) --性能較差
2.可移植性很差(本地語言)
3.安全性差--可以訪問本地的操作系統,容易受******
web server / servlet container
1.性能好 --多線程(而不是進程)
2.可移植性 --相對好
3.安全性