JSP
Java Server Pages : Java服务器端页面,也和Servlet- 样,用于动态Web技术
最大的特点:
●写JSP就像在写HTML
●区别:HTML只给用户提供静态的数据;JSP页面中可以嵌入Java代码,为用户提供动态数据:
JSP原理
服务器内部工作
tomcat中有一-个work目录;
IDEA中使用Tomcat的会在IDEA的tomcat中生产一个work目录
找到IDEA的工作空间:IDEA导航栏->Help->Show Log in Explorer->返回到上级目录就找到了
地址:C:\Users\龙霸天\AppData\Local\JetBrains\IntelliJIdea2021.3\tomcat\ecf7ca7e-ab32-40d5-8e5f-3384e8cc7d1d\work\Catalina\localhost\c\org\apache\jsp
发现页面变成了java程序
浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!
JSP最终也会被转换成为-个Java类!
JSP本质上就是一个Servlet
//初始化
public void _jspInit() {
}
//销毁
public void _jspDestroy() {
}
//JSPService
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
1、判断请求
2、内置一些对象
3、输出页面前的代码
response.setContentType("text/html;charset=UTF-8");//设置响应页面的类型
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;
4、JSP在服务器中处理的流程图
在JSP页面中:只要是JAVA代码就会原封不动的输出;如果是HTML代码就会被转换成out.write("<html>\r\n>");这样的格式输出到前端
JSP基础语法
JSP 作为java技术的一种应用,它拥有一些自己扩充的语法,Java所有语法都支持。
JSP表达式
JSP脚本片段
JSP声明:会被编译到JSP生成Java的类中!其他的就会被生成到-jspService方法中!
九大内置对象
●PageContext 存东西
●Request存东西
●Response
●Session存东西
●Application [SerlvetContext] 存东西
●confg [SerlvetConfig]
● out
●page
●exception
request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的
session:客户端向服务器发送请求,产生的数据,用户用完一会还有用, 比如:购物车;
application:客户端向服务器发送请求,产生的数据,- -个用户用完了,其他用户还可能使用,比如:聊天数据;