持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情 javaweb-JSP
JSP 什么是JSP Java Server Pages:Java服务器端页面,也和Servlet一样,用于动态Web技术!
最大的特点:
写jsp就像再在写HTML 区别:
html只给用户提供静态的数据 jsp页面中可以嵌入Java代码,为用户提供动态数据 jsp原理 浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet
jsp最终也会被转换成为一个java类
jsp本质上就是一个Servlet类
在jsp页面中
只要是Java代码就会原封不动的输出
如果是html代码,就会被转换为:
这样的格式,输出到前端
out.write("\r\n"); jsp基础语法 任何语言都有自己的语法,Java中有,jsp作为Java技术的一种应用,它拥有一些自己扩充的语法(了解即可),Java所有语法都支持
jsp表达式
<%--jsp表达式 作用:用来将程序输出,输出到客户端 <%= 变量或者表达式%> --%> <%= new java.util.Date()%> jsp脚本片段
<%--jsp脚本片段--%> <% int sum = 0; for (int i = 1; i <= 100 ; i++) { sum+=i; } out.println("
sum="+sum+"
"); %> 脚本片段的再实现<% int x = 10; out.println(x); %>
这是一个jsp文档
<% int y = 2; out.println(y); %><%--在代码中嵌入html元素--%> <% for (int i = 0; i < 5 ; i++) {
%>
hello,world <%=i%>
<% } %>jsp声明
<%! static{ System.out.println("Loading Servlet!"); } private int globaVar = 0; public void he(){ System.out.println("进入了方法he!"); } %> jsp声明:会被编译到jsp生成Java的类中,其他的,就会被生成到_javaService中!
在jsp中,嵌入java代码即可
<%%> <%=%> <%!%> <%jsp注释%> jsp注释,不会在客户端显示,html会
jsp指令 <%@page args...%> <%@include file=""%>
<%--@include会将两个页面合二为一--%> <%@include file="common/header.jsp"%>
网页主题
<%@include file="common/footer.jsp"%><%--jsp标签 jsp:include:拼接页面,本质还是3个 --%> <jsp:include page="/common/header.jsp"/>
网页主题
九大内置对象 PageConetext Request Response Session Application config out page 不用了解 exception pageContext.setAttribute("name1","饼干1号");//保存的数据只在一个页面中有效 request.setAttribute("name2","饼干2号");//保存的数据只在一次请求中有效,请求转发会携带这个数据 session.setAttribute("name3","饼干3号");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器 application.setAttribute("name4","饼干4号");//保存的数据只在服务器中有效,从打开服务器到关闭浏览器 request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的
session:客户端向服务器发送请求,产生的数据,用户看完一会还有用,比如:购物车
application:客户端向服务器发送请求,产生的数据,一个客户用完了,其他的客户还可能使用,比如:聊天数据
jsp标签,jstl标签,EL表达式
<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>
EL表达式:${ }
获取数据 执行运算 获取web开发的常用对象 <%--jsp:include--%> <%-- http://loaclhost:8080/jsptag.jsp?name=binggan&age = 5 --%> <jsp:forward page="/jsptag2.jsp"> <jsp:param name="name" value="binggan"></jsp:param> <jsp:param name="age" value="5"></jsp:param> </jsp:forward> JSTL标签库的使用就是为了弥补HTML标签的不足,它自定义许多标签,可以供我们使用,标签的功能和Java代码一样
核心标签
格式化标签
SQL标签
XML标签
JSTL标签库使用步骤
引入对应的taglib 使用其中的方法 在Tomcat也需要引入JSTL的包,否则会报错:JSTL解析错误 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title <%--定义一个变量score,值为85--%> 你的成绩为优秀 你的成绩为一般 你的成绩为及格 你的成绩为不及格判断如果提交的用户名是管理员,则登陆成功 <% if(request.getParameter("username").equals("admin")){ out.print("登录成功"); } %>