JSP培训(4)——实例:登录功能、jsp:forward标签、jsp:include标签、include指令、EL、c:if...

目标:
l 进一步体会JSP应用;
l 掌握表达式语言的使用;
l 掌握标准标签库的使用;
l 掌握<jsp:forward>标签的使用;
l 掌握<jsp:include>标签的使用;
l 掌握<%@ include指令的使用。
内容:
l 通过登录功能进一步体会JSP技术,在开发过程中介绍表达式语言和JSTL的用法;
l 在此基础上对代码进行修改,体会相关标签的用法。
1、要完成的功能
完成登录功能,首先需要一个用于输入登录信息的界面(用户名和口令),然后有处理文件完成判断,处理文件用于判断登录信息是否合法。如果成功,使用登录成功的界面进行响应,如果登录失败,应该专向登录失败的界面。
假设:因为数据库连接相关内容没有介绍,不能进行真正的登录验证,所以假设用户名为zhangsan,口令为lisi的时候登录成功,其它情况登录失败。
2、首先编写登录界面
<%@ page contentType="text/html;charset=gb2312"%>
请登录<br>
<form name="form1" method="post" action="login_process.jsp">
用户ID:<input type="text" name="userid"><br>
口令:<input type="password" name="userpass"><br>
<input type="submit" value="登录"><input type="reset" value="重置">
</form>
注意:这里没有进行客户端验证,主要强调其它内容,在实际处理中,只要涉及输入信息就应该进行验证。
用户输入信息之后,需要对用户输入的信息进行验证,判断用户输入信息是否正确,这里不用嵌入Java代码的方式,使用JSTL中的标签完成判断,下面介绍如何判断。
3、如何判断?
在JSTL的核心标记库(core)有一个if标记用于完成判断。使用方法如下:
1)需要把两个压缩包jstl.jar和standard.jar放到WEB-INF/lib下面;
2)声明核心标记库
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core”%>
3)使用if标记
基本语法格式:<c:if test=”” [var=”” scope=””]> 满足条件的时候要执行的代码</c:if>
test属性是必须的,是if的判断条件,var属性和scope属性是可选的,如果希望把判断的结果保存起来,可以使用var属性和scope属性,var属性指出保存的变量的名字,scope指出变量的作用范围。test的内容应该是结果为true或者false的表达式语言的值。要使用表达式语言,下面介绍表达式语言的基本用法。
4、表达式语言(EL)的使用
基本格式:开始标记“${”结束标记“}”
中间的内容可以是某个对象,某个对象的属性,若干对象的运算结果。
例(访问请求参数中的值):
如果要操作用户输入的userid,可以使用 ${param.userid} 相当于下面的代码:
<%
String userid = request.getParameter(“userid”);
out.println(userid);
%>
例(访问某个对象的属性):
如果要操作某个对象的属性,假设在request中存在对象user(类型为User),user有属性userid,要直接显示这个userid,如何显示,采用EL,可以写成 ${user.userid},相当于下面的代码:
<%
User user = request.getAttribute(“user”);
String userid = user.getUserid();
out.println(userid);
%>
注意:对属性的访问方式也可以使用中括号,例如可以使用下面的代码访问userid:
${user[“userid”]}
两种情况下只能使用中括号的方式:
l 如果属性中包含了特殊符号,例如“.”;
l 如果要访问的属性是一个变量。
例(在表达式语言中进行运算):
如果要进行运算:${3+5}
下面介绍在EL中可以使用那些运算。
5、EL中可以进行哪些运算?
常用的运算如下:
1)数学运算
+-*/ %
2)关系运算
> >= == <= < !=
3) 逻辑运算
&& || !
6、如何编写这个处理程序login_process.jsp
登录成功或者失败的时候直接提示。
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test="${param.userid==\"zhangsan\" && param.userpass==\"lisi\"}">
登录成功!
</c:if>
<c:if test="${param.userid!=\"zhangsan\" || param.userpass!=\"lisi\"}">
登录失败!
</c:if>
当登录失败或者成功的时候,会显示不同的提示语。但是正常情况下在需要采用专门的页面进行响应,下面介绍用法。
7、在服务器端,如何实现页面之间的跳转?
在JSP中提供了一个标签<jsp:forward>,该标签可以完成跳转。
语法格式:<jsp:forward page=”目标文件”/>page属性指出要跳转到哪个文件。
作用:当文件执行到这个标签的时候,会转向执行目标文件,这个标签之后的内容不再执行。
例:有两个文件a.jsp和b.jsp,a.jsp文件内容如下
aaaa
<jsp:forward page=”b.jsp”/>
AAAAA
b.jsp文件的内容是
BBBBBB
如果现在访问a.jsp,会得到结果:
BBBBBBB
注意:在<jsp:forward>标签之前的内容虽然执行了,但是没有显示,之后的内容没有执行。地址栏中显示是第一个文件的名字,显示的内容是第二个文件的。
8、修改登录处理文件
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test="${param.userid==\"zhangsan\" && param.userpass==\"lisi\"}">
<jsp:forward page="success.jsp"/>
</c:if>
<c:if test="${param.userid!=\"zhangsan\" || param.userpass!=\"lisi\"}">
<jsp:forward page="failure.jsp"/>
</c:if>
另外需要编写success.jsp和failure.jsp
9、success.jsp的内容
<%@ page contentType="text/html;charset=gb2312"%>
登录成功的界面!
10、 failure.jsp的内容
<%@ page contentType="text/html;charset=gb2312"%>
登录失败的界面!
需要注意标签的结束符。标签都有开始标志和结束标志,例如 <c:if test=”true”> 内容 </c:if> 也可以写成:
<c:if test=”true”/>
第二种方式中标签体为空。
Html代码格式要求不严格,可以没有结束符,例如:<input type=”text” name=”userid”>
11、 <jsp:include>标签
把上面的login_process.jsp文件中的<jsp:forward修改为<jsp:include查看效果。
语法格式:与<jsp:forward>相似.
作用:包含。在程序运行到这个标签的时候,转向执行目标文件,目标文件执行完之后继续执行标签之后的内容。与方法调用非常像。
与<jsp:forward>的区别:对于标签之前的内容,jsp:forward之前的内容执行,但不显示,jsp:include执行也显示。对于标签之后的内容,jsp:forward不执行了,jsp:include执行并且要显示。
12、 include指令
语法格式与page指令相同:<%@ include file=”目标文件”%>
作用:包含目标文件。
具体为:运行之前,把目标文件的内容拷贝到include指令所在的位置,形成一个文件,然后运行。
与<jsp:include>的区别:<jsp:include>所在的文件和要转向的文件分别执行,<%@ include指令是在转换的时候,把目标文件的内容拷贝到当前文件,运行的时候只有一个文件。
用途:把各个页面的共享部分单独做成文件,例如网站的logo,和版权联系方式等信息。在需要的时候使用<%@ include>指令进行包含。
例:需要在每个网页中显示版权信息。
这时候需要把版权信息单独写在一个文件中,下面是版权信息文件contact.jsp的内容:
<%@ page contentType="text/html;charset=gb2312"%>
光大计算机培训学校版权所有
电话: 888888
在login.jsp中包含该版权信息之后的代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
请登录 <br>
<form name="form1" method="post" action="login_process.jsp">
用户 ID : <input type="text" name="userid"><br>
口令: <input type="password" name="userpass"><br>
<input type="submit" value=" 登录 "><input type="reset" value=" 重置 ">
</form>
<%@ include file="contact.jsp"%>
如果出现错误:
org.apache.jasper.JasperException: /login.jsp(8,0) Invalid byte 1 of 1-byte UTF-8 sequence.
需要设置编码方式,在页面文件的上面添加语句: <%@ page contentType="text/html;charset=gb2312"%>
利用baostock获取上市公司财务指标 利用baostock获取上市公司的财务指标 1、导入模块,登录baostock import baostock as bs import pandas as pd import time # 登陆系统 lg = bs.login() # 显示登陆返回信息 print('login respond error_code:'+lg.error_code) print('login respond error_msg:'+lg.error_msg) 2、查询股票代码、行业板块 # 查询股票代码 rs=. 阅读详情

相关推荐

超声波探伤技术在风电叶片检测中的实战应用(含设备选型指南)

本文深入探讨了超声波探伤技术在风电叶片高空检测中的实战应用,重点分析了相控阵超声、激光超声等技术的选择与挑战。文章提供了详细的设备选型指南,对比了奥林巴斯、GE及国产品牌的优劣,并解读了典型缺陷的超声图谱特征,旨在帮助风电运维工程师安全、高效地完成叶片内部损伤的无损检测与预防性维护。

desk3的博客 885

JSP培训(4)——实例:登录功能、jsp:forward标签、jsp:include标签、include指令、EL、c:if

  目标:l         进一步体会JSP应用;l         掌握表达式语言的使用;l         掌握标准标签库的使用;l         掌握标签的使用;l         掌握标签的使用;l         掌握内容:l         通过登录功能进一步体会JSP技术,在开发过程中介绍表达式语言和JSTL的用法;l         在此

李绪成的一亩三分地 7383

Oracle VM VirtualBox虚拟机网络配置与静态IP设置实战

本文详细讲解了Oracle VM VirtualBox虚拟机的网络配置,特别是如何设置静态IP以实现稳定访问。文章对比了NAT、桥接、仅主机等网络模式,并提供了从VirtualBox管理界面到Linux系统内部的完整配置步骤,帮助用户解决IP变动问题,构建可靠的本地开发测试环境。

weixin_28365523的博客 511

第15课:JSP动作 Jsp forward动作(JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)

Jsp forward动作 jsp:forward动作把请求转到另外的页面。jsp:forward标记只有一个属性page。语法格式如下所示: <jsp:forward page="相对 URL 地址" /> 以下是forward相关联的属性: 在大多数的网络应用程序中,都有这样的情况:在用户成功登录后转向欢迎页面,此处的“转向”,就是跳转。jsp:forward 动作标记就可以实现页面的跳转,用来将请求转到另外一个 JSP、HTML 或相关的资源文件中。 当 jsp:forward 动作标

杭州.黄老师 4367

ByteTrack参数调优全攻略:从原理到实战(含YOLOv8示例)

本文深入解析了ByteTrack多目标跟踪算法的核心原理与参数调优策略。通过拆解其独特的两阶段关联机制,并结合YOLOv8检测器,提供了针对不同应用场景(如拥挤行人、高速车辆)的精细化参数调整指南与实战示例,旨在帮助开发者解决ID切换、目标丢失等工程落地难题,提升跟踪系统的鲁棒性与实用性。

cheese的博客 323

招标文件智能解析系统开发文档

本系统是一个基于OCR与大语言模型的招标文件智能解析平台,专门用于处理和分析招标文件,自动提取关键信息并进行结构化展示。

警世龙的技术博客 1928

JSP的7个动作指令--forward指令、include指令

一、测试forward带参数传递 示例代码结构 basic.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Basic Page</title> </head> <body> <h3> basic page</h3> <jsp:forward

u011692164的专栏 1901

RT-DETR-R18 上下文信息融合:引入全局特征提升遮挡目标检测

"""轻量化全局特征提取器(2层Transformer编码器)"""# 特征投影层(将多尺度特征统一维度)# 轻量化Transformer编码器(分组卷积优化)# 全局特征池化(输出 [bs, hidden_dim])# local_features: 多尺度特征列表 [C3, C4, C5],各 [bs, c, h, w]# 统一投影至 hidden_dim 并展平为序列# Transformer编码全局上下文# 全局池化得到全局向量。

走向CTO的路上... 496

JSP实用教程实验三动作标记

本次实验应用了JSP中include、param和forward动作标记。在实验一中,使用include分别加载了txt文本文件和mp3音频文件实现了文本并不在jsp代码中以及音频的引用。在实验二中,使用了param和forward动作标记,通过forward标记对相应页面的转向并传递了对应的值。

Annzz123的博客 1902

YOLOv8【第四章:注意力机制篇·第20节】一文讲透,注意力机制设计原则与选择指南 - 从原理到实践的系统化方法论!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》,该专栏持续复现网络上各种热门内容(全网YOLO改进最全最新的专栏,质量分97分+,全网顶流),改进内容支持(分类、检测、分割、追踪、关键点、OBB检测)。且专栏会随订阅人数上升而涨价(毕竟不断更新),当前性价比极高,有一定的参考&学习价值,部分内容会基于现有的国内外顶尖人工智能AIGC等AI大模型技术总结改进而来,嘎嘎硬核。    ✨ 特惠福利:目前活动一折秒杀价!一次订阅,永久免费,所有后续更新内容均免费阅读!

**My Coding Family** 899

利用Dify构建文档内容的分析对比

本次主要做了一些workflow和Agent的应用实现,供大家参考。主要目的是为了进行两个内部报告文件的内容对比,特别是报告中的各类审批表、申请表、推荐表和流程对比,本地数据通过知识库方式分别加载到两个知识库中,编制工作流针对同一个问题进行知识库检索,之后将查询结果进行合并,再一起提交给LLM进行对比,最终将对比分析结果以markdown方式返回显示。主要包括如何构建知识库,如何设计workflow、如何将工作流发布为工具、如何设计提示词、如何在agent中引入前面发布的工具,最终通过agent实现与用户交

hhue2007的专栏 2527

JSP动作元素与指令元素项目实训代码及报告

JSP动作元素与指令元素项目实训代码及报告

weixin_48864837的博客 1536

零基础实战:用 Docker 和 vLLM 本地部署 bge-reranker-v2-m3 重排序模型

本文介绍了如何利用Docker容器和vLLM推理框架在本地部署BAAI开发的bge-reranker-v2-m3文本排序模型。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 5972

JSP培训(4)——实例:登录功能、jsp:forward标签、jsp:include标签、include指令、EL、c:i

wb5601257的专栏 794

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jsp中include 的两种用法

1、两种用法 静态include: <%@ inlcude file =”header.jsp” %> 此时引入的是静态的jsp文件,它将引入的jsp中的源代码原封不动地附加到当前文件中,所以在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西。例如里面不要包含这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错。 动态include: <jsp:include page=”header

qq_34955642的博客 4159

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JSP七动作---<jsp:forward>

<jsp:forward>动作的功能是实现页面的请求转发,即将客户端发出的请求从一个jsp页面转交给另一个jsp页面。在转发的过程当中,客户端浏览器上显示的内容会变,但是请求不变,也就是客户端浏览器的URL地址不变。 <jsp:forward page="转发到的页面URL"/> <jsp:forward page="转发到的页面URL"></jsp:forward> 该动作只有一个page属性,表示要请求转发到的网页地址,其值可以使用绝对路径或者

m0_59237608的博客 3001

jsp include 的行为

include 在jsp使用中出现两次, 一个是编译指令中的include 用法为 在这篇blog中称作静态包含 一个是jsp动作指令中的jsp:include用法为 在这篇blog中称作动态包含 由于项目需要公共的mav和公共的footer,所以为了控制好页面必须了解这两者的使用上的细节。 静态包含 的行为是 :把 被引入jsp整个代码复制到 include标签位置 动

hi,kasun 494

JSP语法

本站主要内容为JSP语法,主要包括JSP基本结构、Java程序篇、表达式、JSP指令标记及JSP动作标记等小节内容。在“”之间声明变量和定义方法,习惯上 放在JSP页面指令之后,也可以放在HTML标记之间。①声明变量:通过 声明的变量在整个JSP页面中都有效,为全局变量,与书写的位置习惯放在JSP页面前面。

weixin_62286238的博客 734

Servlet进阶(四)JSP的forward标签

前言       本章讲解JSP的转发标签forward 方法 1.概念 我们知道,学习servlet的时候,我们有请求转发和重定向相信大家还没忘吧! 2.转发 不同于servlet中我们使用request对象进行请求转发,在JSP中我们直接使用forward标签进行转发操作 使用该标签能将请求继续交给其它jsp或servlet进行进一步的操作 语法:&lt;jsp:forward...

jwang的博客 3986

Servlet与JSP转发与包含---forward\include

在这之前,要明确几个概念 1.servlet对象由servlet容器创建,servlet的service()方法也由容器调用。一个servlet对象无法获得另一各servlet对象的应用。 2.请求范围 web应用范围:整个web应用的生命周期,与ServletContext对象的生命周期对应。web应用范围内的共享数据作为ServletContext对象的属性存在。 请求范围:...

difvbspvkkcj96612的博客 185

JSP动作(include、forward)、动态联编与静态联编应用场景

在JSP中大量使用Java代码块,表达式块,会使JSP代码页面看起来杂乱无事,所以一般情况下,尽量少的使用Java代码块和表达式块,尽量多的使用EL表达式、JSTL标签、JSP动作 一、定义JSP动作 使用系统定义好的标签代替Java代码 二、语法格式 &lt;jsp: 动作名称 属性名=属性值....&gt;&lt;/jsp: 动作名称&gt; 或 &l...

浅然的专栏 1362

jsp页面中jstl里面 c:if的使用

jstl 的使用 1  2

有 prepare , No out 3933

jsp页面中include的两种使用方法

同一文件夹下的不同JSP文件可用forward标签进行合并 具体如下 既然可以用forward标签进行合并,那么我们现在就将index.jsp分为三部分 首先看下我们的header.jsp文件 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <title>简单登陆页面</ti...

weixin_41852068的博客 9137

JSP include指令(静态包含和动态包含)

JSP全称Java Server Pages,是一种动态网页开发技术。它允许开发人员使用JSP标签在HTML网页中插入Java代码。

weixin_45118229的博客 2万+

第6章JSP技术

第6章JSP技术 习题 一、填空题 1.需要在JSP页面静态包含一个文件时,可采用【 include 】指令来实现。 2.使用EL表达式中的pageContext对象,可以成功的获取到了request、response、【servletContext 】和servletConfig对象中的属性。 3.JSP页面中的静态HTML内容称之为【 JSP模版元素 】。 4.在JSP文件中,可以同时存在HTML代码与【 Java 】代码。 5.JSP全名是Java Server Page,它是建立在【 Se

桃桃的桃子的博客 4220

jsp 的常用标签

a)jsp 静态包含 示例说明: main.jsp: 头部信息 主体内容 <%-- <%@ include file=""%> 就是静态包含 file 属性指定你要包含的jsp页面的路径 地址中第一个斜杠 / 表示为http://ip:port/工程路径/ 映射到代码的web目录 静态包含的特点: 1、静态包含不会翻译被包含的jsp页面。 2、静态包含其实是把被包含的jsp页面的代码拷贝到包含的位置执行输出。–%> <%@include file=“foot.jsp”%

qq_45554909的博客 768
上一篇: JSP培训(3)——客户端验证、常用输出方式、JSTL基本用法
下一篇: JSP培训(5)——使用JavaBean完成业务逻辑
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值