Java_JSP入门

JSP

简介
JSP对比html 而言,html 只能为用户提供静态数据,而 Jsp 技术允许在页面中嵌套 java 代码,为用户提供动态数据。

相比 servlet 而言,servlet 很难对数据进行排版,而 jsp 除了可以用 java 代码产生动态数据的同时,也很容易对数据进行排版。

不管是 JSP 还是 Servlet,虽然都可以用于开发动态 web 资源。但由于这 2 门技术各自的特点,在长期的软件实践中,人们逐渐把 servlet 作为 web 应用中的控制器组件来使用, 而把 JSP 技术作为数据显示模板来使用。

其实 Jsp 就是一个 Servlet,当我们第一次访问 Jsp 的时候,Jsp 引擎都会将这个 Jsp 翻译 成一个 Servlet,这个文件存放在tomcat(源码目录) 中的 work 目录中。

-C:\Users\alion\.IntelliJIdea2019.2\system\tomcat\Tomcat_9_0_30_WebPro1\work\Catalina\localhost\alion01\org\apache\jsp

注释

JSP 有3种注释的方式

  • html注释方式——<!—注释内容->

     这种方式注释jsp代码。如果代码有问题。运行的时候还是会报错的。所以不靠谱
     但是这种方式是显示注释,可以被浏览器解析。一般不用。
    
  • java方式注释——在<%%>中使用。

     用来注释java代码。 是隐式注释。不会被浏览器读取
    
  • <%-- JSP 注释 --%>

     jsp方式注释。在jsp页面中使用这种方式注释就好。
    
Scriptlet

在 JSP 中最重要的部分就是 Scriptlet(脚本小程序),所有嵌入在 HTML 代码中的 Java 程序

在 JSP 中一共有三种 Scriptlet 代码:都必须使用 Scriptlet 标记出来

  • <% %> ——java脚本段,可以定义局部变量、编写语句

     定义在这范围中的代码,会被tomcat解析到service方法中。并且是从上往下解析
     因此不同的<%%>中的变量可以访问到。其实就和在service方法中写语句一样。没区别
    
<%
String name ="1234";
%>
<%
    System.out.println(name);
%>
  • <%! %> ——用来声明 全局的变量、方法 、和类。

     定义的方法会作为 编译后的Servlet类的 方法,而类会作为内部类存在。
     声明的变量会被定义为全局变量
    
<%!
        public void name(){
   
            System.out.println("你好呀");
        }
    %>
    <%!
        class Person{
   
            private  String name;
        }
    %>

在这里插入图片描述

  • <%= %> ——定义表达式。存储一个变量或者具体的内容

     在编译后的Servlet类中 以 out.print(name);方式输出。会在页面中显示该变量
     所以可以用来做 显示一个具体内容或者变量。相当于在页面中写了out.print();
    
Include标签(指令标签)

使用包含操作,可以将一些重复的代码包含进来继续使用,从正常的页面组成来看,有时可能分为几个区域。而其中的一些区域可能是一直不需要改变的,改变的就其中的一个具体内容区域。

include 静态包含

<%@ include file=“要包含的文件路径” %> ——file中写相对路径

	只能包含本地资源文件,可以是jsp文件,也可以是html页面
<%@include file="index.jsp"%>//index.jsp为同级页面。

静态包含就是将内容进行了直接的替换,就好比程序中定义的变量一样,是在 servlet 引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到一起, 全部放到_jspService 方法中),所以只生成了一个 servlet,所以两个页面不能有同名的变量。 运行效率高一点点。耦合性较高,不够灵活。

include 动态包含

动态包含在代码的编译阶段,包含和被包含部分是两个独立的部分,只有当运行时,才会动态包含进来,好比方法的调用。

-<jsp:include page="include.jsp"></jsp:include>

	注意:动态包含,中间不要加任何内容,包括空格,除非确认要使用参数,否则报错!
<%
	String a = "hello.jsp";
%>
<jsp:include page="<%=a %>"></jsp:include>  //通过<%=%>来使用变量。

org.apache.jasper.runtime.JspRuntimeLibr

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值