java像页面拼<p>,Java Server Pages

什么是JSP

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

最大的特点:

写JSP就像在写HTML

区别:

HTML只给用户提供静态的数据

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

JSP原理

思路:JSP到底怎么执行的!

代码层面没有任何问题

服务器内部工作

tomcat中有一个work目录;

IDEA中使用Tomcat的会在IDEA的tomcat中生产一个work目录

d0c0d6f7b1c048439eaa78b4c563a1a2.jpg

我电脑的地址:C:\Users\Administrator\.IntelliJIdea2018.1\system\tomcat\Unnamed_javaweb-session-cookie\work\Catalina\localhost\ROOT\org\apache\jsp 发现页面转变成了Java程序!

a3380386c82c4c56b8a121ee3095bcdb.jpg

浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!

JSP最终也会被转换成为一个Java类!

JSP 本质上就是一个Servlet

//初始化

public void _jspInit() {

}

//销毁

public void _jspDestroy() {

}

//JSPService

public void _jspService(.HttpServletRequest request,HttpServletResponse response)

判断请求

内置一些对象final javax.servlet.jsp.PageContext pageContext; //页面上下文

javax.servlet.http.HttpSession session = null; //session

final javax.servlet.ServletContext application; //applicationContext

final javax.servlet.ServletConfig config; //config

javax.servlet.jsp.JspWriter out = null; //out

final java.lang.Object page = this; //page:当前

HttpServletRequest request //请求

HttpServletResponse response //响应

输出页面前增加的代码response.setContentType("text/html"); //设置响应的页面类型

pageContext = _jspxFactory.getPageContext(this, request, response,

null, true, 8192, true);

_jspx_page_context = pageContext;

application = pageContext.getServletContext();

config = pageContext.getServletConfig();

session = pageContext.getSession();

out = pageContext.getOut();

_jspx_out = out;

以上的这些个对象我们可以在JSP页面中直接使用!

bd7e4ccbe4c748758fc612638b5f406f.jpg在JSP页面中;

只要是 JAVA代码就会原封不动的输出;

如果是HTML代码,就会被转换为:

out.write("\r\n");

这样的格式,输出到前端!

JSP基础语法

任何语言都有自己的语法,JAVA中有,。 JSP 作为java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可!),Java所有语法都支持!

JSP表达式

--%>

jsp脚本片段

Sum="+sum+"");

%>

脚本片段的再实现

这是一个JSP文档

Hello,World

JSP声明

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

在JSP,嵌入Java代码即可!

JSP的注释,不会在客户端显示,HTML就会!

JSP指令

网页主体

网页主体

9大内置对象

PageContext 存东西

Request 存东西

Response

Session 存东西

Application 【SerlvetContext】 存东西

config 【SerlvetConfig】

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表达式

javax.servlet.jsp.jstlgroupId>

jstl-apiartifactId>

1.2version>

dependency>

taglibsgroupId>

standardartifactId>

1.1.2version>

dependency>

EL表达式: ${ }

获取数据

执行运算

获取web开发的常用对象

JSP标签

JSTL表达式

JSTL标签库的使用就是为了弥补HTML标签的不足;它自定义许多标签,可以供我们使用,标签的功能和Java代码一样!

格式化标签

SQL标签

XML 标签

核心标签 (掌握部分)

a1c0363c403c48a48198ce42ddf12f19.jpg

JSTL标签库使用步骤

引入对应的 taglib

使用其中的方法

在Tomcat 也需要引入 jstl的包,否则会报错:JSTL解析错误

c:if

Title

if测试

c:choose c:when

你的成绩为优秀

你的成绩为一般

你的成绩为良好

你的成绩为不及格

c:forEach

people = new ArrayList<>();

people.add(0,"张三");

people.add(1,"李四");

people.add(2,"王五");

people.add(3,"赵六");

people.add(4,"田六");

request.setAttribute("list",people);

%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值