初始JSP

初始JSP

什么是JSP

Java server pages:Java服务器端页面,也和servlet一样,用于开发动态web!

最大的特点:

  • 写JSP就像在写HTML
  • 区别:
    • HTML只给用户提供静态数据
    • JSP页面中可以嵌入JAVA代码,为用户提供动态数据

JSP原理

浏览器向服务器发送请求!,不管在访问什么资源,其实都是在访问Servlet!

JSP最终会被转化成一个java类!

如何找到JSP转化成的Java类呢?

  • 找到idea中的tomcat工作空间,具体路径:在运行tomcat后查看server中的信息

    D:\Tomcat\apache-tomcat-9.0.59\bin\catalina.bat run
    [2022-03-26 03:58:52,609] Artifact javaweb-session-cookie:war: Waiting for server connection to start artifact deployment…
    Using CATALINA_BASE:   "C:\Users\wuzhe\AppData\Local\JetBrains\IntelliJIdea2021.3\tomcat\900a194d-0ccc-4697-94ef-825775c452cb"
    Using CATALINA_HOME:   "D:\Tomcat\apache-tomcat-9.0.59"
    Using CATALINA_TMPDIR: "D:\Tomcat\apache-tomcat-9.0.59\temp"
    Using JRE_HOME:        "D:\JDK8"
    Using CLASSPATH:       "D:\Tomcat\apache-tomcat-9.0.59\bin\bootstrap.jar;D:\Tomcat\apache-tomcat-9.0.59\bin\tomcat-juli.jar"
    Using CATALINA_OPTS:   ""
    

    Using CATALINA_BASE对应的路径就是tomcat的工作空间

  • 然后查找的路径就类似于

    C:\Users\wuzhe\AppData\Local\JetBrains\IntelliJIdea2021.3\tomcat\900a194d-0ccc-4697-94ef-825775c452cb\work\Catalina\localhost\javaweb_session_cookie_war\org\apache\jsp
    

    在这个路径下我们就能找到JSP转换成的Java类。

我们可以看到这个类继承自HttpJspBase:

public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent, org.apache.jasper.runtime.JspSourceImports

HttpJspBase继承自HttpServlet,这就说明JSP也是Servlet服务。

一些内置对象

final javax.servlet.jsp.PageContext pageContext;             //页面上下文
javax.servlet.http.HttpSession session = null;				 //session
final javax.servlet.ServletContext application;				 //ServletContext改名为 application
final javax.servlet.ServletConfig config;                    //config
javax.servlet.jsp.JspWriter out = null;					     //输出对象
final java.lang.Object page = this;							 //代表当前页
HttpServletRequest request;									 //请求
HttpServletResponse response;								 //响应

输出页面前增加的代码

response.setContentType("text/html");                              //设置响应的页面类型
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;

以上的这些对象可以在JSP中直接使用

在JSP页面中,只要是Java代码就会原封不动的输出,如果是HTML代码,就会被转化为:

out.write("HTML代码");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值