Java Web 中的一些问题
http://localhost:8080/struts2demo/online/userLogin.jsp
請求模式 :// 主機名名稱(或者服務器名稱) : 端口 / Servlet容器的名稱(通常為項目名稱) / ?自定義的網頁文件夾名或者映射中的文件包名 / 網頁名稱及其后綴或者響應動作
Eclipse 中是這樣實現的 request.getScheme() ?:// ?request.getServerName() ?: ?request.getServerPort() ?/?request.getContextPath() ?/?
1,<base>標簽問題
<base> 標簽為頁面上的所有鏈接規定默認地址或默認目標。通常情況下,瀏覽器會從當前文檔的 URL 中提取相應的元素來填寫相對 URL 中的空白。
使用 <base> 標簽可以改變這一點。瀏覽器隨后將不再使用當前文檔的 URL,而使用指定的基本 URL 來解析所有的相對 URL。這其中包括 <a>、<img>、<link>、<form> 標簽中的 URL。
寫法為:<base href=" the_url ">,位置必須在<head></head>標簽對中,通常是在最前面。
對于 Java Web 項目,一般來說,在某個頁面中不指定 base 的值,當前路徑默認為:請求模式 :// 主機名名稱(或者服務器名稱): 端口 / Servlet容器的名稱(通常為項目名稱)/ 頁面所在一層或多層包名?
?
2,返回值
定義如下一個函數:為什么出錯?這是一個小學弟問我的問題,我想了想,的確有點意思。
public ?String[] ?type() {
String[] ?array = { "a", ?"b" };
return {"a", ?"b" };
}
Eclipse中的錯誤提示是這樣的:
Multiple markers at this line
- This method must return a result of type?String[]
- Syntax error, insert "}" to complete Block
- Syntax error, insert ";" to complete?ReturnStatement
我想了想原因可能是這樣的,首先,直觀來說,return期望返回一個對象,當不能實現它的愿望時,變回出錯,所以它不能作為一個對象,且不能轉化為String[] 類型的,因為對它做字符串數組的強制轉化是無效的;
其次,到底它是什么東西,仔細看一下就會發現,它其實就是一個錯誤寫法的語句塊和一個空語句。不過我們更愿意看做一個 Sring[] 類型的正確賦值方式。當你在 return 和它之間添加一個 ";" 符號時,便清楚了。
最后,它就是一個錯誤的語句塊和一個空語句,或者稱為 一個正確的對 String[] 類型賦值方式,只是被用錯了。
?
參考資料:
HTML <base> 標簽 ? ?http://www.w3school.com.cn/tags/tag_base.asp
轉載于:https://www.cnblogs.com/shaw-me/p/4268837.html
總結
以上是生活随笔為你收集整理的Java Web 中的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个煤炭公司好听的名字。
- 下一篇: 指针减法一题