A. spring boot框架的web.xml文件怎麼配置
Spring分為多個文件進行分別的配置,其中在servlet-name中如果沒有指定init-param屬性,那麼系統自動尋找的spring配置文件為[servlet-name]-servlet.xml。
當需要載入多個spring相關的配置文件時,首先載入ContextLoaderListener類,再指定context-param中指定多個spring配置文件,使用逗號分別隔開各個文件。為了使用方便可以將配置文件進行MVC式的分解,配置控制器Bean的配置文件放置在一個xml文件中,server的Bean放在service.xml文件中。
B. web.xml配置cookie
正確。web.xml配置cookie是正確的,這個的作用是讓頁面的js無法讀取到cookie, 是一種保護措施。web.xml是web項目的配置文件,一般的web工程都會用到web.xml來配置,主要用來配置Listener,Filter,Servlet等。
C. 請教一個問題,關於web.xml配置的
1、定義頭和根元素
部署描述符文件就像所有XML文件一樣,必須以一個XML頭開始。這個頭聲明可以使用的XML版本並給出文
件的字元編碼。
DOCYTPE聲明必須立即出現在此頭之後。這個聲明告訴伺服器適用的servlet規范的版本(如2.2或2.3)並
指定管理此文件其餘部分內容的語法的DTD(Document Type Definition,文檔類型定義)。
所有部署描述符文件的頂層(根)元素為web-app。請注意,XML元素不像HTML,他們是大小寫敏感的。因
此,web-App和WEB-APP都是不合法的,web-app必須用小寫。
XML 元素不僅是大小寫敏感的,而且它們還對出現在其他元素中的次序敏感。例如,XML頭必須是文件中
的第一項,DOCTYPE聲明必須是第二項,而web- app元素必須是第三項。在web-app元素內,元素的次序也
很重要。伺服器不一定強制要求這種次序,但它們允許(實際上有些伺服器就是這樣做的)完全 拒絕執
行含有次序不正確的元素的Web應用。這表示使用非標准元素次序的web.xml文件是不可移植的。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
D. 怎樣配置伺服器裡面的Web.XML文件
servlet中web.xml配置詳解(轉)
這篇文章轉自JavaEye,以前配置web.xml時都不知道為什麼這樣,看了之後明白了很多。貼下來,共同分享!
Web.xml常用元素
<web-app>
<display-name></display-name>定義了WEB應用的名字
<description></description> 聲明WEB應用的描述信息
<context-param></context-param> context-param元素聲明應用范圍內的初始化參數。
<filter></filter> 過濾器元素將一個名字與一個實現javax.servlet.Filter介面的類相關聯。
<filter-mapping></filter-mapping> 一旦命名了一個過濾器,就要利用filter-mapping元素把它與一個或多個servlet或JSP頁面相關聯。
<listener></listener>servlet API的版本2.3增加了對事件監聽程序的支持,事件監聽程序在建立、修改和刪除會話或servlet環境時得到通知。
Listener元素指出事件監聽程序類。
<servlet></servlet> 在向servlet或JSP頁面制定初始化參數或定製URL時,必須首先命名servlet或JSP頁面。Servlet元素就是用來完成此項任務的。
<servlet-mapping></servlet-mapping> 伺服器一般為servlet提供一個預設的URL:http://host/webAppPrefix/servlet/ServletName。
但是,常常會更改這個URL,以便servlet可以訪問初始化參數或更容易地處理相對URL。在更改預設URL時,使用servlet-mapping元素。
<session-config></session-config> 如果某個會話在一定時間內未被訪問,伺服器可以拋棄它以節省內存。
可通過使用HttpSession的setMaxInactiveInterval方法明確設置單個會話對象的超時值,或者可利用session-config元素制定預設超時值。
<mime-mapping></mime-mapping>如果Web應用具有想到特殊的文件,希望能保證給他們分配特定的MIME類型,則mime-mapping元素提供這種保證。
<welcome-file-list></welcome-file-list> 指示伺服器在收到引用一個目錄名而不是文件名的URL時,使用哪個文件。
<error-page></error-page> 在返回特定HTTP狀態代碼時,或者特定類型的異常被拋出時,能夠制定將要顯示的頁面。
<taglib></taglib> 對標記庫描述符文件(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD文件的位置,
而不用編輯使用這些文件的JSP頁面。
<resource-env-ref></resource-env-ref>聲明與資源相關的一個管理對象。
<resource-ref></resource-ref> 聲明一個資源工廠使用的外部資源。
<security-constraint></security-constraint> 制定應該保護的URL。它與login-config元素聯合使用
<login-config></login-config> 指定伺服器應該怎樣給試圖訪問受保護頁面的用戶授權。它與sercurity-constraint元素聯合使用。
<security-role></security-role>給出安全形色的一個列表,這些角色將出現在servlet元素內的security-role-ref元素
的role-name子元素中。分別地聲明角色可使高級IDE處理安全信息更為容易。
<env-entry></env-entry>聲明Web應用的環境項。
<ejb-ref></ejb-ref>聲明一個EJB的主目錄的引用。
< ejb-local-ref></ ejb-local-ref>聲明一個EJB的本地主目錄的應用。
</web-app>
E. eclipse無法配置web.xml文件
前言 剛開始學習部署tomcat,新建java web項目後發現沒有web.xml配置文件,以下是原因及其解決方案。 產生原因及解決方案 新建web項目時如下圖所示,若直接選擇"完成",則默認不會在WebContent/WEB-INF文件夾下生成web.xml配置文件,此時應選擇下一步 在創建項目時勾選同時產生web.xml文件即可;當然也可以讓已經新建的web項目生成web....
查看原文
在eclipse中快速生成一個maven項目後一鍵生成web.xml
在web工程創建時創建web.xml:用Eclipse新建一個web項目沒有自動生成web.xml 在創建maven工程時,大多沒有創建web.xml文件,web.xml路徑:src/main/webapp/EWB-INF/web.xml 創建web.xml:右鍵項目——>javaEE tools——>點擊第二個Generate
利用eclipse新建的java web項目沒有web.xml文件怎麼辦?
利用eclipse新建的java web項目沒有web.xml文件怎麼解決? 解決辦法: 1、右鍵項目名稱-》Java EE Tools-》Generate Deployment descriptor stub 即可生成web.xml文件。
MyEclipse新建的Web項目沒有web.xml
MyEclipse新建的Web項目沒有web.xml 是因為創建項目時沒有選擇Generate web.xml deployment descriptor這一項。 下面是步驟 首先創建項目 這一步點擊next 再點擊next 勾選Generate web.xml deployment descriptor,完成後點擊Finish,即可完成創建。 檢查一下,在WebRoot文件夾下打開
myeclipse生成web.xml文件
MyEclipse中新建web項目時,如果一開始新建項目沒有選中生成web.xml文件,在WebRoot->WEB-INF文件夾下就沒有web.xml文件。 那如果後面又需要用到web.xml該怎麼辦呢?難道需要重新建項目?其實是不用的。 非常簡單的方法就是在需要添加web.xml文件的項目上右鍵點擊,依次選擇MyEclipse->Generate Deployment
F. web.xml配置詳解
1、首先打開myeclipse新建web項目,如下圖所示。
G. 「spring boot」框架的「web.xml」文件怎麼配置
首先我們先配置welcomefile-list
我們先聲明一個類繼承WebMvcConfigurerAdapter重寫如下方法即可
註解不能忘
@Configuration@EnableWebMvc@ComponentScan(basePackages =
@Overridepublic void addViewControllers(ViewControllerRegistry registry){
registry.addViewController("/").setViewName("forward:/login.html");}
配置controller類返回至指定目錄,需要重寫如下方法
@Beanpublic ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/view/"); resolver.setSuffix(".jsp"); resolver.(true); return resolver;}
我們把另一個類用於配置監聽事件編碼
Configurationpublic class WebInitializer extends {
getRootConfigClasses 用於配置最先執行的一些配置文件,如RootConfig.java 比如自定義的filter
getServletConfigClasses 這個文件是用於配置welcomefilelist 前置目錄+後綴 error-page等
H. web.xml文件主要配置有哪些,都有什麼含義
①web.xml文件是用來配置:歡迎頁、servlet、filter等配置文件用的。當你的web工程沒用到這些時,你可以不用web.xml文件來配置你的web工程
web.xml的模式文件中定義的標簽並不是定死的,模式文件也是可以改變的,一般來說,隨著web.mxl模式文件的版本升級,裡面定義的功能會越來越復雜,
也即標簽元素的種類會越來越多,但有些是不常用的,我們只需記住一些常用的就可以了。
首先是定義頭和根元素
聲明為xml文件,版本為1.0,編碼為utf-8
聲明該文件的內容可以使用xsi的標簽庫
聲明標簽的使用范圍是被javaee的開發使用的
聲明可以使用的標簽庫和對應的具體的標簽庫版本地址。
web.xml的模式(Schema)文件中定義了多少種標簽元素,它就能擁有定義出來的那些功能
隨著web.mxl模式文件的版本升級,裡面定義的功能會越來越復雜,也即標簽元素的種類會越來越多.
定義項目的名稱.
項目名稱
歡迎頁面
servlet
配置springmvc DispatcherServlet( 前台控制器)-->example這個Servlet的名字是example,可以有多個DispatcherServlet,是通過名字來區分的。
async-supported
啟動一個新的線程去處理你的請求,完成之後調用你指定的回調函數來完成整個非同步操作。
一般的jsp是通過地址欄輸入一個地址,或者提交表單的方式發送請求的,這樣網頁都會被刷新。但是如果你在jsp頁面發送一個ajax請求的話,跟前兩種不同,
後台會返回給jsp頁面內容,頁面不會直接刷新,這樣可以把返回的數據寫在頁面的div中,這樣就完成了頁面的局部刷新。
舉個例子,你做一個查詢功能,頁面上有查詢條件和查詢結果顯示區域,你可以點查詢按鈕的時候通過ajax非同步發送你的查詢條件,
而你得到後台返回的查詢結果後,更新你的jsp頁面的查詢結果,jsp的其他部分,比如查詢條件,都沒有更新,jsp沒有刷新,而是更新了查詢結果這一塊內容
url-pattern 默認匹配所有請求Servlet攔截匹配規則可以自已定義1、攔截*.do、*.htm, 例如:/user/add.do,這是最傳統的方式,最簡單也最實用。不會導致靜態文件(jpg,js,css)被攔截。2、攔截/,例如:/user/add,可以實現現在很流行的REST風格。很多互聯網類型的應用很喜歡這種風格的URL。弊端:會導致靜態文件(jpg,js,css)被攔截後不能正常顯示。
監聽器
Listener獲取的是Web應用ServletContext(application)的配置參數。-為Web應用配置Listener的兩種方式: 使用@WebListener修飾Listener實現類即可 在web.xml文檔中使用進行配置。我們選擇web.xml這種配置方式,只有一個元素指定Listener的實現類.
②啟動WEB項目的時候,Tomcat容器首先會去它的配置文件讀取兩個節點listener和context-param。
然後Tomcat會創建一個ServletContext(application),WEB項目所有部分都將共享這個上下文
將applicationContext.xml存入ServletContext中
Tomcat容器根據class類路徑來創建監聽
上面這些都是在web項目還沒有完全啟動起來就完成的工作,而servlet是在第一次發起請求時被實例化的
而且一般不會被容器銷毀,並服務於多個用戶的請求.
web.xml的載入順序是: context-param-> listener -> filter -> servlet.
filter
Filter可認為是Servlet的「增強版」,因此Filter配置與Servlet的配置非常相似,需要配置兩部分:配置Filter名稱和Filter攔截器URL模式。區別在於Servlet通常只配置一個URL,而Filter可以同時配置多個請求的URL。配置Filter有兩種方式:
在Filter類中通過Annotation進行配置。
在web.xml文件中通過配置文件進行配置。
①網路
②http://blog.csdn.net/believejava/article/details/43229361
1.在web.xml里配置監聽器、過濾器、攔截器,書寫順序有沒有什麼要求?
根據網上資料來分析,應該是沒有書寫順序的要求,容器會按照自己的載入方式去載入順序.
2.監聽器是必須要配置的嗎?
不是必須要配置.
3假設配置了多個listener,那麼會先載入哪個listener
如果有多個listener的情況下,我們可以根據自己的需要去手動設置先去載入哪個listener.
今天的分享就到這里啦,歡迎大家點贊、轉發、留言、拍磚~
技能樹.IT修真院
「我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫」。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧~
http://www.jnshu.com/login/1/14708688
PPT : https://ptteng.github.io/PPT/PPT-java/Java-task2-webxml.html#/
I. web.xml中相關配置
在web.xml中通過contextConfigLocation配置spring,contextConfigLocation參數定義了要裝入的 Spring 配置文件
部署applicationContext.xml文件
如果不寫任何參數配置,默認的是在/WEB-INF/applicationContext.xml
如果指定了要載入的文件,則會去載入相應的xml,而不會去載入/WEB-INF/下的applicationContext.xml。如果沒有指定的話,默認會去/WEB-INF/下載入applicationContext.xml。
如果想要自定義文件名,需要在web.xml中加入contextConfigLocation這個context參數
springmvc的默認配置文件是放在WEB-INF下的,並且要命名為 -servlet.xml, 為servlet—name,即下文中的"Springmvc"
web.xml文件中webAppRootKey屬性是web項目的絕對路徑,默認值是webApp.root,可以通過System.getProperty(「webApp.root」)來獲取屬性值或者在配置文件中通過${webApp.root}獲得。
Spring通過 org.springframework.web.util.WebAppRootListener 這個監聽器來注入項目路徑,因此部署在同一個web容器中的項目,要配置不同的param-value(比如」項目名.root」),不然會造成沖突。但是如果在web.xml中已經配置了org.springframework.web.util.Log4jConfigListener這個監聽器,則不需要配置WebAppRootListener了。因為Log4jConfigListener已經包含了WebAppRootListener的功能。WebAppRootListener要在ApplicationContext的ContextLoaderListener之前,否則ApplicationContext的bean注入根目錄值時會發生無法注入異常。
"webapp.root"這個字元串可以隨便寫任何字元串。如果不配置默認值是"webapp.root"。
可以用System.getProperty("webapp.root")來動態獲項目的運行路徑。
一般返回結果例如:/usr/local/tomcat6/webapps/項目名
定義以後,在Web Container啟動時將把ROOT的絕對路徑寫到系統變數里。
然後log4j的配置文件里就可以用${webName.root }來表示Web目錄的絕對路徑,把log文件存放於webapp中。
此參數用於後面的「Log4jConfigListener」-->