渚漪Day18——JavaWeb 09【JSP】

JSP

Java Server Pages:java服务器端页面,和Servlet一样,用于动态Web技术!

特点

写JSP就像写HTML

区别

HTML只给用户静态的数据

JSP可以嵌入JAVA代码,为用户提供动态数据

JSP原理

  • 代码层面没有问题

  • 服务器内部工作

    ​ Tomcat有一个work目录

    ​ IDEA中使用Tomcat会在IDEA的Tomcat中生成work目录

JSP本质上就是一个Servlet

在JSP页面中

只要是JAVA代码就会原封不动输出 out.print(name);

只要是HTML代码就会被转换成 out.write("\r\n");

JSP基础语法

JSP表达式

<%= 表达式 %>

JSP脚本片段

<% 脚本片段	%>

JSP声明

<%!
    static{
    		System.out.println("hello");
	}
	private int globalVar = 0;
%>

JSP声明会被编译到JSP生成的JAVA类中,其他的会生成在JSPService方法中

JSP指令

<%@page args...%>

<%--会将两个页面合二为一--%>
<%@include file="common/header.jsp"%>


<%--拼接页面本质上是三个页面--%>
<jsp:include page="/common/header.jsp";/>

9大对象

  • pageContext (pageContext.setAttribute())//保存的数据只在一个页面中有效
  • request (request.setAttribute())//保存的数据在一次请求中有效,请求转发会携带这个数据
  • response
  • session(session.setAttribute())//保存的数据在一次会话中有效,从打开浏览器待关闭浏览器(也可以设置时长)
  • application【ServletContext】(application.setAttribute())//保存的数据在服务器中一直有效,从打开服务器待关闭服务器
  • config【ServletConfig】
  • out
  • page
  • exception

作用场景:

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

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

EL表达式:${}

导入的包 JSTL,Standard

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

JSP标签

<jsp:forawrd page="/j123/jsp">

<jsp:param name="name" value="ijuy"><</jsp:param>>

<jsp:param name="age" value="12"><</jsp:param>>

<</jsp:forward>>

JSTL标签

核心标签

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

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>

<html>
<head>
    <title>Title</title>
</head>
<body>
<h4>if测试</h4>

<hr>
<form action="coreif.jsp" method="get">
<%--
    EL表达式获取表单的数据
    ${param.参数名}
--%>
    <input type="text" name="username" value="${param.username}">
    <input type="submit" value="登录">
</form>

<c:if test="${param.username=='admin'}" var="isAdmin">
    <c:out value="hello,admin"></c:out>
</c:if>

<c:out value="${isAdmin}"></c:out>


</body>
</html>

格式化标签

xml标签

sql标签

posted @ 2020-04-29 13:54  渚漪  阅读(226)  评论(0编辑  收藏  举报