L3 《JSP基础》上机手册

内容回顾

  1. 脚本元素<%! %> <%= %> <% %>
  2. 注释元素
  3. JSP指令元素
  4. JSP动作元素

上机目标

  1. 掌握脚本元素<%! %> <%= %> <% %>使用
  2. 注释的使用、不同注释的区别
  3. 掌握page指令、include指令的使用
  4. 掌握jsp:forward、jsp:include、jsp:plugin动作元素的使用

上机任务

  1. 对理论课上的内容进行练习,包括JSP基本语法的练习、JSP脚本元素练习、JSP指令元素练习、JSP动作元素练习
  2. 使用<jsp:forward>实现页面转发功能
  3. 使用<jsp:include>实现页面包含功能
  4. 使用动作指令完成用户登陆成功、失败后的跳转

指导练习

基本语法练习(10分钟)

Java脚本

说明:<% %>为脚本标记,里面可也包含符合Java语法的代码,包括定义变量,注释

变量声明

1)局部变量

    

    此时的count为局部变量,当刷新页面,count不会累加

2)全局变量

使用<%! … %>声明全局变量,所有用户共享,相当于Servlet中定义的成员变量

当刷新页面或重新打开浏览器访问该页面,count一直是递增的,过一段时间再访问该页面,count可能会重新归0,为什么???因为JSP会转换成Servlet,服务器管理着Servlet的生命周期。

输出表达式的值<%=expression%>

JSP注释

1)HTML注释语句

<!-- 注释内容 -->

这种注释会发送到客户端,但不直接显示,在源代码中可以查看到,其中的Java脚本会执行

2)JSP注释语句

<%-- 注释语句 --%>

    JSP编译器不会编译JSP注释语句,不显示在客户端的浏览器中,也不会再源码中看到

3)脚本(script)语言注释

/* 脚本注释 */

//注释内容

指令练习(30分钟)

Include指令

JSP编译时插入一个包含文本或代码的文件,这个包含过程是静态的

include.jsp

 

foo.jsp:

Page指令

使用page指令导入需要的类



Page指令设置页面字符集,以解决页面中文乱码

 

taglib指令

以后再举例

动作元素(35分钟)

<jsp:include>

包含一个静态或动态文件,如果包含的是动态文件,还可以传递参数到被包含文件

IncludeParam.jsp:


param.jsp:

<jsp:forward>

编写一个登陆程序,用户输入用户名、密码之后提交到登陆处理页面进行处理,对用户名密码进来验证。如果成功就转发到成功页面;失败则转到失败页面

Login.jsp

Check.jsp


Success.jsp


Failed.jsp


 

 

课堂练习(35分钟)

使用JSP实现,用户登录,登陆成功打开首页,不成功则回到登录页面

要求:

1)首页index.jsp显示结构如下,但不使用框架,而是使用<include>或<jsp:include>包含意下三个页面。    

    2)top页面显示登录用户的姓名

    3)main页面从pubs数据库中取出所有的图书(titles表)显示

课外练习

使用page指定实现页面出错时跳转到统一的错误页面

测试页面errorpage.jsp

错误处理页面

常见问题

根据教学或自己备课过程中常碰到的问题及其解决方法

相关知识

提供与本讲内容的某些知识点相关的参考资料或扩展内容与技术

JSP脚本元素上机手册的更多相关文章

  1. JavaWeb学习----JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. JSP脚本元素(声明 %! 表达式 %= 脚本 %)

    JSP脚本元素包括声明.表达式.脚本 声明(declaration):用于在JSP页面中声明合法的变量和方法.以“<%!”开始,以“%>”结束. 在JSP页面中,一个声明可以出现在任何地方 ...

  4. 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)

    JSP原理: 1.    对于每个请求.jsp容器都会创建一个新的线程来处理它: 2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...

  5. jsp脚本元素

    在JSP页面中有三种脚本元素(Scripting Elements):声明.小脚本和表达式. 声明(declaration)用来在JSP页面中声明变量和定义方法.声明是以<%!开头,以%> ...

  6. JSP基础总结(运行机制、脚本元素、指令元素、动作元素)

    JSP的运行机制: 1.转译阶段:JSP页面转换成Servlet类: 2.请求阶段:Servlet类执行,将相应结果发送至客户端. 流程解释: 1.用户访问某个JSP页面 2.服务器找到相应的JSP页 ...

  7. JSP基础总结 脚本元素

    JSP脚本元素 1.  JSP声明语句 JSP声明语句以<%!开始,以%>结束,其语法格式为:<%! 声明语句 %> 使用声明语句的变量为全局变量,也就是说,当有多个用户在执行 ...

  8. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  9. JSP页面中最常使用的脚本元素

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6513082449755374093/ 前面简单说了一个<JSP页面实际上就是Servlet>,接下来说 ...

随机推荐

  1. cxf的使用及安全校验-01创建简单的服务端接口

    最近因为项目的需要,研究了一下webservice的使用: 这里以cxf2.7.0为例,大致介绍一下,也用于备份啦(张立胜) 大致介绍一下项目的情况:项目有maven管理,webservice调用的方 ...

  2. 刷新 tableview

    UITableView对于iOS开发者来说一定不会陌生,很有可能你的APP很多界面都用到它.关于UITableView的文章,想必已经不计其数,没事可以多看看.特别是UITableView优化的文章, ...

  3. isKindOfClass、isMemberOfClass的区别

    两者都能检测一个对象是否是某个类的成员,两者的区别是:isKindOfClass 不但可以用来确定一个对象是否是一个类的成员,也可以用来确定一个对象是否是派生自该类的类的成员.isMemberOfCl ...

  4. unity绘制线和绘制面

    绘制线条代码,其实就是指定至少两个点,然后赋予贴图即可,不废话,上代码: using UnityEngine; using System.Collections; public class LineT ...

  5. [Leetcode] Longest Consecutive Sequence 略详细 (Java)

    题目参见这里 https://leetcode.com/problems/longest-consecutive-sequence/ 这个题目我感觉很难,看了半天别人写的答案,才明白个所以然.下面的代 ...

  6. shopnc怎么开启伪静态 shopnc开启伪静态的方法

    最近要给一个shopnc网站开启伪静态,用的是shopnc b2b2c,在网上搜索了好多shopnc开启伪静态的方法,但都是针对shaopnc c2c的,没有关于shopnc b2b2c的,最后终于找 ...

  7. 在JasperReport中填充JavaBean(4)

    使用Parameters参数对象传递字符串的示例,本节将演示打印List接口中Userinfo.java实体类的示例,打印的数据源不是来自于Parameters对象,而是JRBeanCollectio ...

  8. No enclosing instance of type test8 is accessible. Must qualify the allocation with an enclosing instance of type test8 (e.g. x.new A() where x is an

    在编译一个例子时,结果编译时出现: No enclosing instance of type test8 is accessible. Must qualify the allocation wit ...

  9. ubuntu vim YCM

    http://blog.sina.com.cn/s/blog_499386b00100rxm1.html http://www.cnblogs.com/junnyfeng/p/3633697.html

  10. Oracle instr用法

    1:实现indexOf功能,.从第1个字符开始,搜索第1次出现子串的位置 ,) as i from dual; select instr('oracle','or') as i from dual; ...