一延届、注解
- 注解存在的意義:簡(jiǎn)化 xml 文件的開發(fā).
- 注解在 servlet 3.0 規(guī)范之后大力推廣的.如果想使用注解得話齐苛,必須是在創(chuàng)建得時(shí)候選擇Web3.0以上翠勉。
- 注解前面的@XXX,表示引用一個(gè)@interface
- @interface 表示注解聲明
- 注解可以有屬性,因?yàn)樽⒔馄鋵?shí)就是一個(gè)接口(類)
- 每次使用注解都需要導(dǎo)包
- 注解語(yǔ)法: @XXXX(屬性名= 值)
- 值的分類
- 如果值是基本數(shù)據(jù)類型或字符串: 屬性名=值
- 如果值是數(shù)組類型: 屬性名={值,值}
- 如果只有一個(gè)值可以省略大括號(hào)
- 如果值是類類型,屬性名=@名稱
- 如果注解只需要給一個(gè)屬性賦值,且這個(gè)屬性是默認(rèn)屬性,可以省略
屬性名
二、路徑
路徑分類
- 相對(duì)路徑: 從當(dāng)前資源出發(fā)找到其他資源的過(guò)程
- 絕對(duì)路徑: 從根目錄(服務(wù)器根目錄或項(xiàng)目根目錄)出發(fā)找到其他資源的過(guò)程
標(biāo)志: 只要以/開頭的都是絕對(duì)路徑
絕對(duì)路徑:
- 如果是請(qǐng)求轉(zhuǎn)發(fā) / 表示項(xiàng)目根目錄(WebContent)
- 其他重定向,<img/> <script/>,<style/>,location.href 等/都表示服務(wù)器根目錄(tomcat/webapps 文件夾)
如果客戶端請(qǐng)求的控制器,控制器轉(zhuǎn)發(fā)到 JSP后,jsp中如果使用相對(duì)
路徑,需要按照控制器的路徑去找其他資源.
- 保險(xiǎn)辦法:使用絕對(duì)路徑,可以防止上面的問(wèn)題
大部分注解都有默認(rèn)屬性,如果注解中只給默認(rèn)屬性復(fù)制,可以省略屬性名
否則在注解的(屬性名=屬性值)格式
如果一個(gè)屬性是數(shù)組類型格式: 屬性名={值,值} ,如果該數(shù)組只有一個(gè)值,可以省略大括號(hào)
如果類是不是基本數(shù)據(jù)類型或String而是一個(gè)類類型,語(yǔ)法: 屬性名=@類型
注解中@表示引用注解聲明
@WebServlet("/abc/b/show")
public class ShowServlet extends HttpServlet{
private PeopleService peopleService = new PeopleServiceImpl();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
List<People> list = peopleService.show();
req.setAttribute("list", list);
相對(duì)路徑
只要路徑中以/開頭的都叫做全路徑. 從項(xiàng)目根目錄(WebContent)出發(fā)找到其他資源的過(guò)程
只要不以/開頭都是相對(duì)路徑,相對(duì)路徑是從當(dāng)前資源出發(fā)找到其他資源的過(guò)程
如果請(qǐng)求轉(zhuǎn)發(fā) / 表示W(wǎng)ebContent目錄
如果是重定向,靜態(tài)資源引用,必須<img src=""/> <a href=""> <script src=""/> css引用時(shí) 其中 /都表示的是tomcat的webapps文件夾根目錄
服務(wù)器根目錄
req.getRequestDispatcher("/index.jsp").forward(req, resp);
}
}