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";
} %>

<5>动态获取虚拟路径

<form action="${pageContext.request.contextPath}/LoginServlet" method="post" autocomplete="off">
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(视图层):视图层用于展示数据

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
本功能是以读书管理为例子而实现的翻页功能,目的希望大家很够很容易掌握它,同时将它学会。希望能给大家带来方便! Web应用开发的JavaServer Pages技术方法 在开发JSP规范的过程中,太阳微系统公司(Sun Microsystems Inc.)与许许多多主要的Web服务器、应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作。其结果是找到了一种为应用和页面开发人员平衡了可移植性和易用性的开发方法。 JSP技术在多个方面加速了动态Web页面的开发: 将内容的生成和显示进行分离 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。 强调可重用的组件 绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陪雨岁岁年年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值