JSP,JavaBean

JSP

8.1什么是JSP

java Server Pages:java服务器端页面,也和Servlet一样应用于动态web技术。

最大特点:

  • 写JSP就像在HTML
  • 区别:
    • HTML只给用户提供静态是数据。
    • JSP页面中可以进入JAV代码,为用户提供动态数据。

8.2JSP原理

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

  • 代码层面没有任何问题。

  • 服务器内部工作

    tomcat中有一个work目录;

    IDEA中使用tomcat的会在IDEA中生成一个work目录。

    我电脑的地址:

    C:\Users\DELL\AppData\Local\JetBrains\IntelliJIdea2022.1\tomcat
    

    浏览器向服务器发送请求,不管访问真没资源,其实都是在访问Servlet.

JSP最终也会转化成一个Java类。

JSP本质上是一个Servlet.

//初始化
public void _jspInit(){
    
}
//销毁
public void _jspDestroy(){
    
}
//JSPService
public void _jspService(.HttpServletRequest request,HttpServletResponse response)
  1. 判断请求
  2. 内置一些对象
  3. 输出页面前增加的代码
  4. 以上的这些个对象我们可以在JSP界面中直接使用

在JSP页面中,只要是Java代码就会原封不动的输出,如果是HTML代码,就会转换为

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

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

8.3JSP基础语法

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

JSP表达式

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

jsp脚本片段

<%--jsp脚本片段--%>
  <%
    int sum=0;
    for (int i = 0; i < 100; i++) {
      sum+=i;
    }
    out.print("<h1>Sum="+sum+"</h1>");
  %>

脚本片段的再实现

 <%
    int x=10;
    out.print(x);
  %>
  <p>这是一个JSP文档</p>
  <%
    out.print(x);
  %>
<hr>
<%--在代码嵌入HTML元素--%>
  <%
    for (int i = 0; i < 5; i++) {
  %>
<h1>hello,world  <%=i%></h1>
  <%
    }
  %>

JSP声明

  <%!
    static {
      System.out.println("Loading Servlet!");
    }
    private  int globalVar=0;
    public void Kuang(){
      System.out.println("进入了方法Kuang");
    }
  %>

JSP声明:会被编译到JSP生成的java类中。其他的就会被生成到_jspServlet方法中。

在JSP中嵌入java代码即可。

<%%>
<%=%>
<%!%>
<%!--注释--%>

JSP的注释,不会在客户端提示,HTML就会。

8.4JSP指令

<%@page args......%>
<%@include file="..."%>

8.5九大内置对象

  • PagaContext 保存东西
  • Request 保存东西
  • Response
  • Session 保存东西
  • Application[ServletConfig] 保存东西
  • config[ServletConfig]
  • out
  • page 不用了解
  • exception
pageContext.setAttribute("name1","秦将1");//保存的数据只在一个页面中有效
request.setAttribute("name2","秦将2");//保存的数据只在一次请求中有效,请求转发会携带这个数据
session.setAttribute("name3","秦将3");//保存的数据只在一次会话中有效,从打开服务器到关闭浏览器
application.setAttribute("name4","秦将4");//保存的数据只在服务器中有效,从打开服务器到关闭服务器

request:客户端向服务器发送请求,产生的数据,用户看完就没用了。比如:新闻,用户看完没用的。

session:客户端向服务器发送请求,产生的数据,用户看完一会还有用。比如:购物车。

application:客户端向服务器发送请求,产生的数据,一个用户看完,其他用户还可以用。比如:聊天数据。

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

EL表达式:${}

  • 获取数据

  • 执行运算

  • 获取web开发的常用对象

格式化标签

SQL标签

JSP标签

<jsp:include page=""></jsp:include>
<jsp:forward page="Jsp2.jsp">
    <jsp:param name="value1" value="value1">
</jsp:forward>

JSTL表达式

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

核心标签(掌握部分)

JSTL标签库使用步骤

  • 引入对应的taglb
  • 使用其中的方法
  • 在Tomcat也要引入.jstl的包,否则会报错:JSTL解析错误
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<>
<h1>测试</h1>
<hr>
<form action="jsplag.jsp" method="get">
<%--    获取表单中是数据
${param.参数名}--%>
    <input type="text" name="uesrname" value="${param.username}">
    <input type="submit" value="登录">
</form>
<%--如果提交的用户名是管理员,则登录成功--%>
<c:if test="$(param.username='admin')" var="isAdmin";
<c:out value="管理员欢迎您"/>
</c:if>
<c:out value="$(isAdmin)"/>

</body>

JavaBean

实体类

JavaBean有特定的写法:

  • 必须要有一个无参构造
  • 属性必须私有化
  • 必须有对应的get/set方法

一般用来和数据库的字段做映射 ORM

ORM:对象关系映射

  • 表--->类
  • 字段--->属性
  • 行记录--->对象
i name age address
1 秦将1号 3 西安
2 秦将2号 18 西安
3 秦将3号 100 西安
class  People{
    private int id;
    private string  name;
    private int id;
    private string address;
}
class A{
    new People(1,"秦将1号",3,"西安");
    new People(2,"秦将2号",3,"西安");
    new People(3,"秦将3号",3,"西安");
}

本文作者:努力的小L

本文链接:https://www.cnblogs.com/sx-xiaoL/p/17556648.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   努力的小L  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开