Jsp知识点之一

Jsp初识

Jsp就是一个Servlet,但是Jsp里面既可以写html代码,又可以写Java代码,换句话说Servlet的技术都可以用在Jsp上,但是Jsp的功能却比Servlet的功能强大。

Jsp的执行过程

  • 1、浏览器访问一个Jsp资源时,Tomcat翻译 Jsp文件
    filename.jsp ——> _filename_jsp.java (如果文件名中有点 . 会被翻译成下划线 )
  • 2、Tomcat编译Java资源
    _filename_jsp.java ——> _filename_jsp.class
    其中文件存在workspace中,我的目录:
    D:\javaweb\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost

看一看翻译的java文件中的代码,我们会发现
_filename_jsp 继承 org.apache.jasper.runtime.HttpJspBase
然而需要知道的是
org.apache.jasper.runtime.HttpJspBase 继承 javax.servlet.http.HttpServlet
所以,总结来说jsp(翻译成的java类)间接地继承了HttpServlet,这也就是为什么说Jsp就是一个Servlet了。Jsp的作用可比Servlet大哦。

  • 3、Tomcat构造_filename_jsp类对象
  • 4、Tomcat调用_filename_jsp类里面的方法

Jsp语法

jsp注释

Jsp的注释和html的是不一样的

<!-- 这个是html的注释  -->
<%-- 这个是jsp注释  --%>

注意注意:html的注释会被翻译在java文件里面,而jsp的注释不会被翻译在java文件里面
Jsp的注释才是真正的注释!

jsp脚本

<% java代码 %>
<% %> 里面写Java代码

    <%
        int a = 10;
        int b = 20;
    %>

里面的在翻译的时候直接放在_jspService()方法中

        int a = 10;
        int b = 20;

然而html代码都是这个样子翻译的(下面是部分)

      out.write("<html>\r\n");
      out.write("<head>\r\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n");
      out.write("<title>Insert title here</title>\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");

jsp表达式

<%=变量或表达式%>
向浏览器输出变量或表达式计算的结果

    <%
        int a = 10;
        int b = 20;
    %>
    <!-- jsp表达式 -->
    <%=a+b %>

翻译成下面的代码

    int a = 10;
    int b = 20;

    out.write("\r\n");
    out.write("\t<!-- jsp表达式 -->\r\n");
    out.write("\t");
    out.print(a+b );

<%=a+b %>被翻译成了out.print(a+b );
浏览器上会显示a+b的值30

jsp声明

<%! 变量或方法 %>
声明jsp的成员变量或成员方法
在jsp脚本里面声明的变量时局部变量只在_jspService()方法中有效,但是jsp声明里面声明的变量或者方法是全局的,在该类中都有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值