IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JSP页面 -> 正文阅读

[Java知识库]JSP页面

1.jsp概述

  • JSP(全称Java Server Pages),是一种动态网页开发技术。它既可以使用HTML标签来写页面,也可以写Java代码。其本质就是一个Servlet

2.jsp页面的访问过程

  1. 当客户端发送请求访问服务端的index.jsp页面
  2. 服务器内部会把.jsp文件翻译成.java文件
  3. 再编译.java文件生成.class文件,
  4. 由字节码完成请求与响应的操作(其实这个字节码就是Servlet)
    在这里插入图片描述

3.jsp语法

<1>注释

<%--1.这是注释--%>

<2>java代码块

<%
    System.out.println("Hello Jsp");
    out.println("Hello Jsp<br/>");
    String str ="你好";
    out.println(str);
%>

<3>jsp表达式

<%=“Hello”%>相当于 out.println (Hello");

<%="Hello </br>"%>

<4>jsp中的声明(变量或方法)

  • 如果加!代表的是声明的是成员变量
  • 如果不加!代表的是声明的是局部变量
  • 方法体内不能打印输出
<% String s ="123";%>
<%! String s ="abc";%>
<%="局部变量"+s%>
<%="成员变量"+this.s%>
<%!public void method(){
  String m ="def";
} %>

4.jsp指令

<1>errorPage【界面出现异常则跳转到指定页面】

  • 异常界面代码:
<%--导包--%>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%int a =1/0;%>
<%ArrayList<Object> list = new ArrayList<>();%>
</body>
</html>
  • 指定跳转页面【error.jsp】:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isErrorPage="true" %>
<html>
<head>
    <title>页面错误</title>
</head>
<body>
<strong>不好意思,界面出错了<strong/><br/>
    <img src="img/nan.png" width="25%">
</body>
</html>

<2><%@include file=包含的页面%>【在当前页面输入包含页面则可以使用该页面的属性和值】

  • 当前页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--include指令--%>
<%@include file="include.jsp"%>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%=s%>
</body>
</html>
  • 被包含的页面include.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>被包含的页面</title>
</head>
<body>
<% String s ="Hello";%>
</body>
</html>

<3>taglib指令:可以引入外部标签库【EL表达式(JSTL)】

  • <%@taglib uri=标签库的地址prefix=前缀名称%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
    <title>流程控制</title>
</head>
<style>
    table {
        text-align: center;
    }
</style>
<body>
<%--
<c:if test=""   当条件判断
<c:choose></c:choose>  多条件判断
<c:forEach  遍历

需求1:将学生信息遍历显示到table表格中。
需求2:奇数行数据背景色是pink粉色,偶数行数据背景色是gray灰色。
--%>

<%
    Student student1=new Student("张三",20);
    Student student2=new Student("张益达",22);
    Student student3=new Student("张三",20);

    ArrayList<Student> list=new ArrayList<>();
    list.add(student1);
    list.add(student2);
    list.add(student3);
    request.setAttribute("students",list);
%>
<table align="center" border="1" width="40%" cellspacing="0">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    <c:forEach items="${students}" var="stu" varStatus="statu">
        <c:if test="${statu.count%2==1}">
            <tr align="center" style="background-color: pink">
                <td>${statu.count}</td>
                <td>${stu.name}</td>
                <td>${stu.age}</td>
            </tr>
        </c:if>
        <c:if test="${statu.count%2==0}">
            <tr align="center" style="background-color: gray">
                <td>${statu.count}</td>
                <td>${stu.name}</td>
                <td>${stu.age}</td>
            </tr>
        </c:if>
    </c:forEach>
</table>
</body>
</html>

【多标签可以同时导入,下面为jsp page属性】
在这里插入图片描述

5.jsp四大域对象

在这里插入图片描述

5.MVC模型

<1>JSP的演变

  • 在早期JavaEE开发是没有JSP技术的,只有使用Servlet往浏览器输出HTML标签和内容数据。在Java代码中拼接HTML代码非常痛苦。
  • 后来有了JSP技术,简化了Servlet的开发。可是又延伸出另一个问题,在HTML页面中嵌套了过多的Java代码,不利于阅读和维护。
  • 为了解决Java代码和HTML代码耦合性强的问题,JavaWeb项目开发引入了MVC开发模式,从而把页面展示和业务逻辑分离。采用MVC模式让程序设计更加合理。
    <2>MVC介绍
  • Module(模型层): 模型层用于封装数据(JavaBean对象),和一些业务逻辑处理。
  • Controller(控制层): 它控制着数据的流向
    1.先接受用户的请求数据
    2.将数据交给模型层处理
    3.将处理后的数据交给视图层
  • View(视图层):视图层用于展示数据

在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:40:39  更:2021-08-02 10:41:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 -2025/4/12 3:19:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码