zoukankan      html  css  js  c++  java
  • 渚漪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(" ");

    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标签

  • 相关阅读:
    缩略图(转载)
    MarteEngine tutorial:Keyboard and mouse input
    MarteEngine tutorial: Hello World
    FengGUI
    位于两个内网的结点A和B都连接到一个公网的rdv,然后A与B之间发送消息,这时消息是否还经过rdv?
    MarteEngine
    MarteEngine tutorial:Basic collision
    关于PresenceService的实现方式
    MarteEngine: Animate sprite
    MarteEngine tutorial: 设置你的环境
  • 原文地址:https://www.cnblogs.com/ijuysama/p/12801761.html
Copyright © 2011-2022 走看看