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

Rclone替代RaiDrive?零广告免费挂载Alist WebDAV到Windows资源管理器(含自启脚本) 本文详细介绍了如何使用开源工具Rclone替代RaiDrive,实现零广告、全免费的Alist WebDAV挂载方案。通过深入解析配置参数、提供完整的自启动解决方案和解决常见问题,帮助用户在Windows资源管理器中高效管理云存储,提升使用体验。 阅读详情

 

目标:
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"%>
 
Android Audio其他——数字音频接口(附) 数字音频接口 DAI,即 Digital Audio Interfaces,顾名思义,DAI 表示在板级或板间传输数字音频信号的方式。相比于模拟接口,数字音频接口抗干扰能力更强,硬件设计简单,DAI 在音频电路设计中得到越来越广泛的应用。 阅读详情

相关推荐

RJ45以太网接口EMC设计方案

RJ45以太网接口EMC设计方案 一、 接口概述 RJ45以太网接口是目前应用最广泛的通讯设备接口,以太网口的电磁兼容性能关系到通讯设备的稳定运行。赛盛技术应用电磁兼容设计平台(EDP)软件从接口原理图、结构设计,线缆设计三个方面来设计以太网口的EMC设计方案。 二、 接口电路 原理图的EMC设计 百兆以太网接口2KV防雷滤波设计 图1 百兆以太网接口2KV防雷滤波设计 接口电路设计概述: 本方案从EMC原理上,进行了相关的抑制干扰和抗敏感度的设计;从设计层次解决EMC问题;同时此电路兼容了百兆以太网接

兰陵笑笑生SD的博客 1万+

第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

FT2232HL JTAG下载器硬件设计指南:从引脚配置到电平转换实战

本文详细解析了FT2232HL JTAG下载器的硬件设计要点,包括引脚配置、电平转换电路设计及EEPROM配置技巧。通过实战案例展示如何利用FT2232HL实现高速JTAG通信,解决电平不匹配等常见问题,提升嵌入式开发效率。特别适合需要灵活JTAG接口的硬件工程师参考。

weixin_29194693的博客 257

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

化工过程设计软件:Aspen Plus二次开发_(2).二次开发概述

假设我们需要创建一个自定义的换热器模型,该模型能够计算两个物流之间的热交换量,并根据传热系数和换热面积进行调整。ACM 模型代码示例!自定义换热器模型!参数:传热系数 U (W/m^2·K)!换热面积 A (m^2)!热物流 T_hot_in (K), T_hot_out (K), F_hot (kmol/h)!冷物流 T_cold_in (K), T_cold_out (K), F_cold (kmol/h)!模型输入!U - 传热系数!A - 换热面积!

kkchenjj的博客 370

uniapp - H5网页打包运行报错Failed to load resource: net::ERR_FILE_NOT_FOUND(uniApp打包成H5部署到服务器,打包h5白屏并报错页面空白)

Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp 坑之打包之后白屏,uniapp打包h5,HBuilderX 打包H5后空白报错 Failed to load resource: net::ERR FILE NOT_FOUND,UNI-APP H5应用白屏(空白页)解决方案,白屏并报错Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp开发,打包成H5部署到服务器,uniapp打包之后首页

🏆 前端领域优质创作者 3579

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

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

Annzz123的博客 1902

【PX4学习笔记】1. ROS及PX4环境搭建

环境 Ubuntu18.04 安装教程参考 https://www.guyuehome.com/8983 安装过程中问题的解决 问题1 rosdep init 错误的终极解决方法 注意etc/下的ros和rostep文件夹要自己建 问题2 Ubuntu安装ROS报错 sudo: rosdep:找不到命令 问题3(更好地解决了问题1、2)【推荐】 解决GitHub的raw.githubusercontent.com无法连接问题 问题4:GeographicLib的安装 教程中安装GeographicLib d

【人工智障 | 计算鸡视觉 | 机器孩】 8234

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

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

weixin_48864837的博客 1536

HSM 网络安全 信息安全

HSM HSM信息安全功能 汽车电子网络安全中HSM 的应用场景 选择适合汽车电子网络安全的 HSM 符合汽车安全标准和法规要求的HSM HSM 在汽车电子网络安全中的可靠性和安全性 评估汽车电子网络的安全性 汽车 HSM(Hardware Security Module)模块开发 汽车 HSM(Hardware Security Module)模块测试

天赐好车的博客 1240

计算机视觉论文复现指南:从理论到可运行代码的保姆级教程

计算机视觉论文复现指南:从理论到可运行代码的保姆级教程​ ,人工智能,计算机视觉,大模型,AI,本文围绕计算机视觉论文复现展开,介绍从理论到可运行代码的全流程。先强调复现的重要性,再讲解复现前的准备,包括明确目标、构建工具链;接着说明代码获取分析、环境配置调优、调试运行技巧及结果验证优化方法,还推荐了高效工具,提及复现中的伦理规范。旨在助读者掌握复现方法论,实现从经典模型到前沿论文的复现,推动学术成果落地。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

jsp中include 的两种用法

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

qq_34955642的博客 4159

【数据分享】1985-2023 年中国 30m 生长季 NDVI 数据集:刘小平团队力作,Landsat 无缝融合无云产品

中山大学刘小平团队发布1985-2023年中国30m分辨率生长季Landsat NDVI数据集,解决了传统数据的三大痛点:无缝拼接、时间连续和质量可靠。该数据集基于5-9月生长季Landsat影像,通过云检测、多景融合等技术生成,已在GEE平台开放共享。其高分辨率、长时序特性为植被动态监测、LUCC研究等提供重要支撑,在农业、生态保护等领域具有广泛应用价值。

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 1513

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

目标: l 进一步体会JSP应用; l 掌握表达式语言的使用; l 掌握标准标签库的使用; l 掌握&lt;jsp:forward&gt;标签的使用; l 掌握&lt;jsp:include&gt;标签的使用; l 掌握&lt;%@ include指令的使用。 内容: l 通过登录功能进一步体会JSP技术,在开发过程中介绍表达式语言和JSTL的用法; l 在...

Java Web 开发教程 283

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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

wb5601257的专栏 794

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

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

m0_59237608的博客 3001

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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完成业务逻辑
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值