一、什么是JSP?
1、在HTML中嵌入Java脚本代码
2、由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码
3、然后将生成的整个页面信息返回给客户端
 
二、为什么需要基于B/S技术的动态网页?

使用动态网页,可以动态输出网页内容、同用户进行交互、对网页内容进行在线更新

三、B/S技术的特点是什么?
1、解释执行HTML文件
2、运行JSP等服务器端程序
四、Web容器处理JSP文件请求需要经过3个阶段:
1、翻译阶段
2、编译阶段
3、执行阶段
注意:第一次请求之后,Web容器可以重用已经编译好的字节码文件
注意:如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译
 
五、JSP 页面组成
JSP 页面的元素包括
1、静态内容(HTML静态文本)
2、指 令(以“<%@ ” 开始,以“%> ” 结束。比如:<%@ include file = " Filename" %>)
3、表达式(<%=Java表达式 %>)
4、小脚本(<% Java 代码 %>)
5、声 明(<%! 方法 %>)
6、注释(<1、!-- 这是注释,但客户端可以查看到 -->  2、 <%-- 这也是注释,但客户端不能查看到 --%>)
 
六、什么是page指令?
Øpage指令
Ø通过设置内部的多个属性来定义整个页面的属性
Ø语法:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>
 
七、JSP中的注释
Ø合理、详细的注释有利于代码后期的维护和阅读
 
Ø在JSP文件的编写过程中,共有三种注释方法:
ØHTML的注释:<!-- html注释-->
ØJSP注释:<%-- JSP注释--%>
Ø在JSP脚本中注释:
<% //单行注释 %>
<%  /*多行注释 */ %>
 
八、Web程序的调试与排错
Ø在运行Web程序时,常犯的一些错误有:
Ø未启动Tomcat服务,或者没有在预期的端口中启动Tomcat服务
Ø未部署Web应用,就试图运行Web程序
Ø运行时,URL输入错误
Ø存放文件的目录无法对外引用,如:文件放入了WEB-INF、META-INF等文件夹
 
九、什么是JSP内置对象
ØJSP内置对象是 Web 容器创建的一组对象
ØJSP内置对象的名称是JSP 的保留字
ØJSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例
<%
request.setCharacterEncoding("GBK");
String titleName =
request.getParameter("titlename");
%>
Ø常用的JSP内置对象
1、out
2、session
3、request
4、application
5、response
 
十、JSP内置对象request 
request对象主要用于处理客户端请求
request对象常用方法

方法名称

说  明

String   getParameter(String name)

根据页面表单组件名称获取页面提交数据

String[   ] getParameterValues(String name)

获取一个页面表单组件对应多个值时的用户的请求数据

void   setCharacterEncoding(String charset)

指定每个请求的编码,在调用getParameter( )之前进行设定,可以解决中文乱码问题

String   getRemoterAddr()

返回提交请求的客户机的IP地址

JSP内置对象request案例
Ø注册页面
 <form name="form1" method="post" action="reginfo.jsp">
<table border="0" align="center">
<tr> <td>用户名</td><td> <input type="text" name="name"></td></tr>
<tr><td>密码</td><td > <input type="password" name="pwd"> </td></tr>
<tr> <td>你喜欢的水果:</td><td>
<input type="checkbox" name="channel" value="苹果"> 苹果
<input type="checkbox" name="channel" value="梨"> 梨
<input type="checkbox" name="channel" value="西瓜"> 西瓜
<input type="checkbox" name="channel" value="香蕉"> 香蕉 </td></tr>
<!-- 以下是提交、取消按钮 -->
</table>
</form>
Ø信息读取显示页面
//在进行页面开发时,存在多种字符集编码设置,我们只需要在页面设置支持中文字符的字符集就可以了

//设置读取请求信息的字符编码为GBK或者GB2312或者UTF-8
request.setCharacterEncoding(“utf-8");
<%
//读取用户名和密码
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
…HTML页面代码…
//读取复选框选择项
String[] channels = request.getParameterValues("channel");
if (channels != null) {
for (int i = 0; i < channels.length; i++) {
out.println(channels[i]);
}
}
%>
 
Øpage指令常用属性
 

属性

描述

默认值

language

指定JSP页面使用的脚本语言

java

import

通过该属性来引用脚本语言中使用到的类文件

contentType

用来指定JSP页面所采用的编码方式

text/html,

ISO-8859-1

用JSP实现动态交互的更多相关文章

  1. Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。

    在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了.在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的Db ...

  2. javaweb 与jsp页面的交互流程 (初次接触时写)

    javaweb 与jsp页面的交互流程 javaweb项目目录 1. javaweb项目的一般目录: 2. jsp 页面一般情况下放在 top(前台页面) back(后台页面) 3. 后台代码 放在s ...

  3. 实验二 JSP基本动态元素的使用

    实验二  JSP基本动态元素的使用 实验性质:验证性          实验学时:  2学时      实验地点: 一 .实验目的与要求 1.掌握JSP中声明变量.定义方法.java程序片及表达式的使 ...

  4. 静态网页怎样实现动态交互?-JavaScript

    在Html基础上,javascript能够开发交互式web网页.javascript的出现使得网页和用户之间实现了一种实时性的.动态的.交互性的关系,javascript短小精悍,又是在客户机上执行的 ...

  5. jsp页面动态获取系统时间

    最近在做练习时碰到了这样一个问题:"读者选择查询图书相应信息,跳转到书目的详细信息界面,当可借阅数量大于零,点击借阅按钮,提示用户借阅成功,并显示归还日期(三个月),否则提示用户该书可借阅数 ...

  6. jsp的动态包含和静态包含

    jsp的动态包含和静态包含 例如:提取一个公共的页面(top.jsp)到/WEB-INF/jsp/common/目录下 动态包含: 被包含的页面也会独立编译,生成字节码文件,一般包含页面信息频繁变化的 ...

  7. 使用JSP开发动态网站基础

    1. 什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 注意:在静态网页中插入flash ,虽然flash是在动的,但是并不是说这个网页就是动态 ...

  8. JSP中动态INCLUDE与静态INCLUDE的区别

    动态INCLUDE 用法: <jsp:include page="included.jsp" flush="true" /> 说明: 它总是会检查所 ...

  9. JSP中动态include和静态include的区别(简版)

    动态的include: 用法:<jsp:include page="1.jsp" flush="true" /> 特点:行为元素,可以带参数:先编译 ...

随机推荐

  1. 关于框架搭建-web

    最近一直在学习前端相关的东西,在学了一堆基础可以以及动手在某个前端框架上写了一些东西之后,我想尝试着开始自己搭建一个框架.不知道时间需要多久,但会持续更新.小菜鸟的成长记录. ------------ ...

  2. ajax学习----json,前后端交互,ajax

    json <script> var obj = {"name": "xiaopo","age": 18,"gender ...

  3. Spring Boot访问mysql(JPA方式)最简单配置

    0.先推荐一个工具--lombok,pom文件如下: <dependency> <groupId>org.projectlombok</groupId> <a ...

  4. hdu_1285_确定比赛名次_201312081335

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  5. 关于压缩软件gzip和xz的简单对照

    晚上因为处理磁盘报警的须要.进行了日志压缩,在此次压缩中分别使用了gzip和xz软件对文本进行了压缩.压缩的结果很令人诧异. 出于对xz好奇的原因是因为在下载内核源码时常常能够看到.xz格式的文件包. ...

  6. HDU 4362

    方程很简单 p[i][j] = min{dp[i-1][k] + |pos[i-1][k] - pos[i][k]|} + v[i][j]; 循环求值肯定TLE,主要是绝对值不方便.好吧,我真的BI了 ...

  7. wait()方法写在while循环中可以在线程接到通知后再一次判断条件

    wait()方法写在while循环中可以在线程接到通知后再一次判断条件 synchronized public String pop() { String returnValue = "&q ...

  8. js中的函数function

    js的function对象在调用过程中具有一个arguments的属性,它是由脚本解释器创建的(这也是arguments创建的唯一方式). arguments属性能够看作是一个Array对象,它有le ...

  9. CodeForces 653 A. Bear and Three Balls——(IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2))

    传送门 A. Bear and Three Balls time limit per test 2 seconds memory limit per test 256 megabytes input ...

  10. css3 动态背景

    动态背景 利用多层背景的交替淡入淡出,实现一种背景在不停变换的效果,先看图. 效果图: DEMO地址 步骤 1.利用css的radial-gradient创建一个镜像渐变的背景.当中的80% 20%为 ...