狂神javaweb课程笔记-06-JSP&JavaBean

本文详细介绍了JSP的基础知识,包括JSP的原理、基础语法、指令、内置对象,以及JSP标签、JSTL和EL表达式的使用。同时,讲解了JavaBean的规范,强调其在Web开发中的重要作用。
摘要由CSDN通过智能技术生成

8、JSP

8.1、什么是JSP

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

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

8.2、JSP原理

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

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

页面转变成了Java程序!
在这里插入图片描述

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

JSP 本质上就是一个Servlet,下面是源码的摘录:

//初始化
public void _jspInit() {
   

}
//销毁 
public void _jspDestroy() {
   
 }
//JSPService 
public void _jspService(.HttpServletRequest request,HttpServletResponse response)
 

_jspService方法解析:

  • 判断请求
  • 内置一些对象
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页面中直接使用!
    在这里插入图片描述

在JSP页面中;
只要是 JAVA代码就会原封不动的输出;
如果是HTML代码,就会被转换为这样的格式,输出到前端:

out.write("<html>\r\n");

8.3、JSP基础语法

任何语言都有自己的语法,JSP 作为java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可!),Java所有语法都支持!(新建的.jsp文件可以通过url访问)

  • JSP表达式
<%--JSP表达式
作用:用来将程序的输出,输出到客户端
<%= 变量或者表达式%>
--%>
<%= new java.util.Date()%>
  • jsp脚本片段
<%--jsp脚本片段--%>
<%
  int sum = 0;
  for (int i = 1; i <=100 ; i++) {
   
    sum+=i;
  }
  out.println("<h1>Sum="+sum+"</h1>");
%>
  • 脚本片段的再实现
<%
  int x = 10;
  out.println(x);
%>
<p>这是一个JSP文档</p>
<%
  int y = 2;
  out.println(y);
%>
<hr>
<%--在代码嵌入HTML元素--%>
<%
  for (int i 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值