JSP入门级笔记

JSP

1、什么是JSP

Java Server Pages:Java服务器端页面,也和Servlet一样,用于动态Web技术
最大的特点:

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

2、JSP原理

思路:JSP到底怎么执行的

  • 代码层面没有任何问题
  • 服务器内部工作
    tomcat中有一个work目录;
    IDEA使用Tomcat的会在IDEA的Tomcat中产生一个work目录

浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!
JSP最终也会被转换成为一个Java类!
JSP本质上就是一个Servlet

//初始化
public void_jspInit(){}
//销毁
public void_jspDestory(){}
//JSPService
public void _jspService(.HttpServletRequest request,HttpServletResponse response){}
  1. 判断请求
  2. 内置一些对象在这里插入图片描述
  3. 以上这些都可以在jsp中使用!

在JSP页面中:
只要是JAVA代码就会原封不动的输出;
如果是HTML代码,就会被转换为:<out.write("<html>\r\n")>这样的格式输出到前端!

3、JSP基础语法

任何语言都有自己的语法,JAVA中有,。
JSP表达式

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

JSP脚本

<%
    int sum = 0;
    for(int i = 1;i<=100;i++){
        sum+=i;
    }
    System.out.println("<h1>Sum="+sum+"</h1>");
%>

JSP声明

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

JSP声明:会被编译到JSP生成Java二点类中!其他的,就会被生成到_jspService方法中!

<%@ page import="java.util.*"%>
<%@ page isErrorPage="true" %> //这是一个错误页面
<%@ page errorPage="error.jsp" %> //如果是错误页面去error.jsp

web.xml增加配置错误页面也可在这里插入图片描述

4、9大内置对象

  • PageContext 存东西
  • Request 存东西
  • Response
  • Session 存东西
  • Application【ServletContext】 存东西
  • config【ServletConfig】
  • out
  • page
  • exception

JSP页面代码

<%
    pageContext.setAttribute("name","jjj");//保存的数据只在一个页面中有效
    request.setAttribute("name2","jjj2");//保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name1","jjj1");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name3","jjj3");//保存的数据只在服务器中有效,从打开服务器到关闭服务器
%>
<% pageContext.setAttribute("hello1","hello1",PageContext.SESSION_SCOPE);%>//等同于
<%--<% session.setAttribute("hello1","hello1");%>--%>

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

5、JSP标签、JSTL标签、EL表达式

EL表达式:(${ })

  • 获取数据
  • 执行运算
  • 获取web开发的常用对象
<jsp:forward page=" index.jsp">
	<jsp:param name="value1" value="value1"></jsp:param>
	<jsp:param name="value2" value="value2"></jsp:param>
</jsp:forward>`//跳转到某个页面
//取出参数
<%= request.getParam("value1")%>
<%= request.getParam("value2")%>

JSTL标签
菜鸟教程学习

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

JSTL标签库是为了弥补HTML标签的不足;它自定义许多标签。

核心标签(掌握部分):
格式化标签:
xml标签

使用步骤:

  • 引入对应的taglib
  • 使用其中的方法
  • 在Tomcat中也需要引入jstl包,否则会报错:JSTL解析错误(Tomcat的lib中)
<form action="coreif.jsp" method="get">
	<input type="text" name="value1" value="${param.value1}">
//判断如果提交的用户是管理员,则登录成功
<c:if test="${param.value1=='value1'}" var="isAdmin">
	<c:out value="管理员欢迎您!">
</c:if>
//自闭合标签
<c:out value="$(idAdmin)"/>
<c:set var="score" value="85"/>
<:choose>
	<c:when test="${score>90}">
	你得成绩优秀
	</c:when>
	<c:when test="${score>=80}">
	你得成绩良好
	</c:when>
	<c:when test="${score>=70}">
	你的成绩一般
	</c:when>
	<c:when test="${score<=60}">
	你得成绩不及格
	</c:when>
</c:choose>

//var 每一次遍历出来的变量
//items 要遍历的对象
//begin 哪里开始
//end 哪里结束
//step 步长
<c:forEach var="***" items = ${list}>
	<c:out value="${people}"/><br>
</c:foreach>
<c:forEach var="" items="" begin="" end="" step=""></forEach>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不想当个程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值