javaweb-JSP

112 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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("登录成功"); } %>