JSP基础入门

JSP

1、简介

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

特点:

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

2、jsp原理

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

JSP最终也会转换为java类,tomcat运行时转换

JSP本质上就是一个Servlet

在这里插入图片描述

在JSP页面中:

JAVA代码会直接输出,

HTML会被转换为

out.write("<html>\r\n");

此格式输出到前端

3、JSP基础语法

依赖

<dependencies>
    <!--Servlet 依赖-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <!--JSP 依赖-->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
    </dependency>
    <!--JSTL表达式依赖-->
    <dependency>
        <groupId>javax.servlet.jsp.jstl</groupId>
        <artifactId>jstl-api</artifactId>
        <version>1.2</version>
    </dependency>
    <!--standard 标签库-->
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
    </dependency>
</dependencies>

JSP作为java技术的一种应用,拥有自己扩充的语法,Java所有语法都支持

<body>
  <%--JSP表达式  用来将程序的输出,输出到客户端--%>
  <%= new java.util.Date()%>

  <%--JSP脚本片段 --%>
  <%
    int sum=0;
    for (int i = 0; i < 100; i++) {
      sum+=i;
    }
    out.println("<h1>sum="+sum+"</h1>");
  %>
  <%--在代码中嵌入HTML元素 --%>
  <%
    for (int i = 0; i <5 ; i++) {

      %>
  <h1>Hello,world</h1> <%=i%>
  <%
    }
  %>
  <%--JSP声明 会被编译到JSP生成的java的类中,其他会被生成到_jspService方法中--%>
  <%!
    static{
      System.out.println("Loading...");
    }
    private int globalvar=0;
    public void p(){
      System.out.println("kkk");
    }
  %>
  $END$
  </body>

在JSP,嵌入Java代码即可。

JSP的注释不会在客户端显示,HTML的注释会显示。

4、JSP指令

<%@page args... %>
<%@include file="" %>  <!--拼接网页,会产生变量命名空间错误-->

5、九大内置对象

  • PageContext 保存到东西在一个页面中有效
  • Request 保存到东西在一次请求中有效
  • Response
  • Session 保存到东西在一次会话中有效
  • Application ServletContext 存东西 保存到东西在服务器中有效
  • config ServletConfig
  • out
  • page
  • exception

应用场景:

  • request:客户端向服务器发送请求,产生的数据,用户看完就没用了,如新闻
  • session:客户端向服务器发送请求,产生的数据,用户用完一会还有用,如购物车
  • application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,如聊天数据

6、JSP标签,JSTL标签,EL表达式

EL表达式: ${}

  • 获取数据
  • 执行运算
  • 获取web开发常用对象

JSP标签:

<jsp:forward page="/jsptag2.jsp">
	<jsp:param name="name" value="lucas"></jsp:param>    
</jsp:forward>

JSTL表达式:

JSTL标签库的使用就是为了弥补HTML标签的不足,标签的功能和java代码一样。

/jsptag2.jsp">
<jsp:param name=“name” value=“lucas”></jsp:param>
</jsp:forward>


**JSTL表达式:**

JSTL标签库的使用就是为了弥补HTML标签的不足,标签的功能和java代码一样。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lucas_ch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值