JSP的相关知识

JSP

Java Server Pages:java服务端页面

​ 本质上还是Servlet,只是简化了许多。

需要导入依赖

pom.xml

<!--Servlet-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</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>

基础语法和指令

JSP表达式

<%= 变量或者表达式%>	//用来将程序的输出,输出到客户端

eg:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html>
    <head>
        <title>JSP</title>
    </head>
    <body>
        <%--JSP表达式--%>

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

    </body>
 </html>

JSP脚本片段

<%
   java代码...
%>

eg:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html>
 <head>
     <title>JSP</title>
 </head>
 <body>
 <%
     int sum = 0;
     for (int i = 1; i < 100; i++) {
         sum +=i;
     }
     out.print("<h1>Sum="+sum+"</h1>");
 %>

 </body>
 </html>

JSP声明

​ 将内容跳脱于Servlet之外,会被编译到JSP生成的java类中。而其他内容则会被生成到_jspService方法中。

格式:

<%!
  	java代码
%>

eg:

<%!
        private void show(){
            System.out.println("WOW");
        }
 %>

JSP指令

​ 格式:

<%@page args... %>
<%@include file=""... %>

九大内置对象

​ 1.PageContext =>存东西

​ 2.Request =>存东西

​ 3.Resopnse

​ 4.Seeson =>存东西

​ 5.Application[SerlvetContext] =>存东西

​ 6.config [SerlvetConfig]

​ 7.out

​ 8.page

​ 9.exception

eg:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html>
 <head>
     <title>JSP</title>
 </head>
 <body>

    <%-- 内置对象--%>
    <%
        pageContext.setAttribute("name1","Tom");
        request.setAttribute("name2","Jerry");
        session.setAttribute("name3","Sesion");
        application.setAttribute("name4","apply");

        //通过pageContext获取值
        String name1 = (String) pageContext.findAttribute("name1");
        String name2 = (String) pageContext.findAttribute("name2");
        String name3 = (String) pageContext.findAttribute("name3");
        String name4 = (String) pageContext.findAttribute("name4");
    %>
    <%--通过EL表达式输出 格式: ${} --%>
    <p>${name1}</p>
    <p>${name2}</p>
    <p>${name3}</p>
    <p>${name4}</p>

 </body>
 </html>

注:

​ 寻找的方式为 从底层到高层(作用域) PageContext <request<session<application

​ 其中 PageContext 保存的数据只在一个页面有效

​ request 保存的数据只在一次请求中有效,请求转发回携带该数据

​ session 保存的数据只在一次会话中有效,即打开浏览器直至关闭

​ application 保存的数据只在服务器有效,即从打开服务器直至关闭

JSP标签

<%--
	页面形式:localhost:8080:xx.jsp?name_demo=?&age_demo=?
--%>
<jsp:forward page="web-path">
	<jsp:param name="name_demo" value="v_demo"><jsp:param>
	<jsp:param name="age_demo" value="v1_demo"><jsp:param>
</jsp:forward>

JSTL表达式

​ 为了弥补HTML的不足,则JSTL自定义了许多标签,功能与Java代码一致。

核心标签

​ 1.引用核心标签库

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

​ 2.使用方法

​ 【内容繁多,暂不演示】

EL表达式

->用来 获取数据、执行运算、获取web开发的常用对象

​ 格式:

		${...}

JavaBean

​ 实体类

JavaBean有特定的写法

​ 1.必须有一个无参构造

​ 2.属性必须私有化

​ 3.必须有相对于的get&set方法

=》一般用于和数据库的字段做映射 ORM (表->类、字段->属性、行记录->对象)

eg:

<jsp:userBean id="student" class="com.domain.Student" scope="page" />
	<jsp:setProperty name= "student" property="name" value="Tom" />
	<jsp:getProperty name="student" property="name" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值