1,、JSP簡(jiǎn)介
JSP(全稱JavaServer Pages)是由[Sun Microsystems](https://baike.baidu.com/item/Sun Microsystems)公司主導(dǎo)創(chuàng)建的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),。JSP部署于網(wǎng)絡(luò)服務(wù)器上,,可以響應(yīng)客戶端發(fā)送的請(qǐng)求,,并根據(jù)請(qǐng)求內(nèi)容動(dòng)態(tài)地生成HTML,、XML或其他格式文檔的Web網(wǎng)頁,,然后返回給請(qǐng)求者,。JSP技術(shù)以Java語言作為腳本語言,為用戶的HTTP請(qǐng)求提供服務(wù),,并能與服務(wù)器上的其它Java程序共同處理復(fù)雜的業(yè)務(wù)需求,。
JSP將Java代碼和特定變動(dòng)內(nèi)容嵌入到靜態(tài)的頁面中,實(shí)現(xiàn)以靜態(tài)頁面為模板,,動(dòng)態(tài)生成其中的部分內(nèi)容,。JSP引入了被稱為“JSP動(dòng)作”的XML標(biāo)簽,用來調(diào)用內(nèi)建功能,。另外,,可以創(chuàng)建JSP標(biāo)簽庫(kù),然后像使用標(biāo)準(zhǔn)HTML或XML標(biāo)簽一樣使用它們,。標(biāo)簽庫(kù)能增強(qiáng)功能和服務(wù)器性能,,而且不受跨平臺(tái)問題的限制。JSP文件在運(yùn)行時(shí)會(huì)被其編譯器轉(zhuǎn)換成更原始的Servlet代碼,。JSP編譯器可以把JSP文件編譯成用Java代碼寫的Servlet,,然后再由Java編譯器來編譯成能快速執(zhí)行的二進(jìn)制機(jī)器碼,也可以直接編譯成二進(jìn)制碼,。
2,、JSP原理
1、idea中tomcat的工作空間
C:\Users\光輝歲月\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\Unnamed_JavaWebLearnProject\work\Catalina\localhost\servlet_02\org\apache\jsp
2,、index.jsp 的核心代碼分析
//初始化
public void _jspInit() {
}
//銷毀
public void _jspDestroy() {
}
//jspService
public void _jspService(HttpServletRequest request,HttpServletResponse response)
final javax.servlet.jsp.PageContext pageContext;//頁面上下文
javax.servlet.http.HttpSession session = null;//session
final javax.servlet.ServletContext application;//application Context
final javax.servlet.ServletConfig config;//config
javax.servlet.jsp.JspWriter out = null;//out
final java.lang.Object page = this;//page:當(dāng)前頁面
response.setContentType("text/html;charset=UTF-8");//設(shè)置響應(yīng)的頁面類型
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;
來源:https://www./content-4-875301.html
|