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

GPS-SDR-SIM使用详解 GPS-SDR-SIM 是一款开源工具,能够生成 GPS 基带信号数据流,这些数据流可通过软件定义无线电(SDR)平台(如 ADALM-Pluto、bladeRF、HackRF、USRP 等)转换为射频(RF)信号。简单来说,它能模拟 GPS 卫星信号,帮助开发者或爱好者测试 GPS 接收设备的性能,而无需依赖真实的卫星信号。 阅读详情

 

目标:
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"%>
参考教材:《Java Web程序设计基础教程》

JSP培训目录:

JSP培训(1)——概述
JSP培训(2)——运行原理、文档结构、简单输入输出
JSP培训(3)——客户端验证、常用输出方式、JSTL基本用法
JSP培训(4)——实例:登录功能、jsp:forward标签、jsp:include标签、include指令、EL、c:if
JSP培训(5)——使用JavaBean完成业务逻辑
JSP培训(6)——使用Servlet作为控制器实现MVC模式
JSP培训(7)——使用JDBC完成动态验证、采用MVC完成数据查询
JSP培训(8)——添加功能和分页显示
JSP培训(9)——使用MVC模式完成删除和修改功能
JSP培训(10)——使用JavaBean封装对数据库的访问、连接池的配置和使用
JSP培训(11)——Java Web中的安全控制
JSP培训(12)——Java Web应用国际化
JSP培训(13)——异常处理
JSP培训(14)——购物车实例(上)
JSP培训(15)——购物车实例(下)及小结
uniapp - HBuilder提示adb: failed to install X Failure [INSTALL_ARSE_FAILED_NOT_APK:X(安装HBuilder调试基座失败) 安装HBuilderX调试基座失败,uniapp APP运行到手机adb: failed to install,Uniapp提示adb,uniapp ios 真机调试报错 uniapp安卓调试,Uniapp安装不了基座,手动安装基座,正在安装手机端HBuilder调试基座,点击运行到手机报错信息:基座无法正常安装,Uniapp-安装HBuilder调试基座失败解决方案,解决 HBuilderX 安卓基座安装失败的问题,显示adb报错,UniApp苹果真机运行调试(自定义基座,版本更新后/没有基座打开失败)如 阅读详情

相关推荐

android mtk camera如何自定义默认拍照与录像分辨率

本文详细解析了在Android MTK平台上自定义相机默认拍照与录像分辨率的方法。通过分析Camera2应用默认选择逻辑,定位并修改PictureSize.java与VideoQualityCaptureRequestConfig.java中的关键代码,实现绕过系统智能选择,强制指定最高或特定分辨率。文章还提供了进阶的可配置化方案与验证避坑指南,帮助开发者精准控制相机行为。

weixin_29194817的博客 434

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

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

李绪成的一亩三分地 7383

Windows 24H2升级后eNSP AR_40报错40?VirtualBox虚拟化修复指南

虚拟化技术通过Hypervisor在操作系统与硬件间建立抽象层,使虚拟机能够共享物理资源。其核心原理依赖CPU的VT-x/AMD-V指令集,而Windows 24H2对内核隔离与驱动签名的强化会直接占用或拦截这些虚拟化资源。在工程实践中,VirtualBox作为Type-2型Hypervisor,常因内存完整性开启或版本过旧导致虚拟网卡创建失败,进而引发设备启动中断。典型场景包括网络仿真实验、多系统测试环境搭建等。当eNSP的AR_40路由器依赖VirtualBox引擎时,24H2的安全策略变更便会触发错误

weixin_34375251的博客 218

第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

【机器学习实战中阶】音乐流派分类-自动化分类不同音乐风格

数据下载地址:https://www.kaggle.com/datasets/andradaolteanu/gtzan-dataset-music-genre-classification/data背景音乐。专家们长期以来一直在尝试理解声音以及是什么使一首歌曲与另一首不同。如何可视化声音。是什么使一个音调与另一个不同。这个数据集希望能提供实现这些目标的机会。内容原始流派 - 包含10种流派,每种流派有100个音频文件,每个文件长度为30秒(著名的GTZAN数据集,声音的MNIST)

2146

网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理

本文记录了网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理一例。

forestqq的博客 2229

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

[RK3568 Android11] 开发之蓝牙(AP6275S)

前言 蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。 接下来是在RK3568上调试AP6275S模块蓝牙部分: 一、设备树dts配置 根据硬件原理图,找到对应的控制引脚,配置好dts: ...

~未来可期~ 4075

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

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

Annzz123的博客 1902

华为OD机试 - 名字的漂亮度(Java 牛客练习题)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。给出多个字符串,计算每个字符串最大可能的“漂亮度”。第一行一个整数N,接下来N行每行一个字符串。数据范围:输入的名字长度满足。每个字符串可能的最大漂亮程度。

学Java,找哪吒 1786

AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

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

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

weixin_48864837的博客 1536

使用plot函数可视化F分布累积分布函数数据(R语言)

在上面的代码中,我们使用了seq()函数来生成从0到5之间,以0.1为步长的一组F值。然后,我们指定了分子自由度为3,分母自由度为8,并使用pf()函数计算了对应的F分布CDF值。在本文中,我们将介绍如何使用R语言的plot函数来可视化F分布的累积分布函数(CDF)数据。通过使用plot函数,我们可以直观地了解F分布的累积分布函数,并对F值和对应的累积概率之间的关系有更深入的认识。运行上述代码后,我们将获得一个由F值和对应的累积概率构成的图形,其中x轴表示F值,y轴表示累积概率。

LogicGuruX的博客 503

jsp中include 的两种用法

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

qq_34955642的博客 4159

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

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

m0_59237608的博客 3001

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JSP语法

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

weixin_62286238的博客 734

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jsp include 的行为

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

hi,kasun 494

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万+

JSP中include指令和include动作浅析

浅析JSP中include指令与include动作

小菜鸟入门 5586

jsp中include的两种用法

1、 <%@ include file=” ”%> 是在翻译阶段执行 jsp的include指令元素读入指定页面的内容。并把这些内容和本来的页面融合到一起。(这个过程是在翻译阶段:也就是jsp被转化成servlet的阶段进行的。) <%@include file=“header.jsp”%> 在header.jsp里的使用方法 <%=userName%> 2...

雅正 699

JSP中include指令和include动作的区别

1.include指令 语法格式:&lt;%@include file="文件的URL" %&gt; 2.include动作 语法格式: 1)&lt;jsp:include page="文件的URL"/&gt; 2)&lt;jsp:include page="文件的URL"&gt; &lt;!--param子标记如下--&gt; &lt;jsp:p

the blog of Lee 3010
上一篇: JSP培训(3)——客户端验证、常用输出方式、JSTL基本用法
下一篇: JSP培训(5)——使用JavaBean完成业务逻辑
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值