一、什么是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. JavaSE 学习笔记之String字符串(十四)

    API:(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源 ...

  2. The merchant

    The merchant Time Limit: 3000MS   Memory Limit: 65536K       Description There are N cities in a cou ...

  3. hdu_1048_The Hardest Problem Ever_201311052052

    The Hardest Problem Ever Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  4. N - Corporate Identity

    Beside other services, ACM helps companies to clearly state their “corporate identity”, which includ ...

  5. [bzoj1925][Sdoi2010]地精部落_递推_动态规划

    地精部落 bzoj-1925 Sdoi-2010 题目大意:给你一个数n和模数p,求1~n的排列中满足每一个数的旁边两个数,要么一个是边界,要么都比它大,要么都比它小(波浪排列个数) 注释:$1\le ...

  6. OGNL是什么

    OGNL表达式是(Object-Graph Navigation Language)是对象图形化导航语言.OGNL是一个开源的项目,Struts2中默认使用OGNL表达式语言来显示数据.与Serlve ...

  7. ZooKeeper的下载方法

    1.进入官网: https://zookeeper.apache.org/releases.html 2.进入服务器列表: http://www.apache.org/dyn/closer.cgi/z ...

  8. ZooKeeper的原理(转)

    一.ZooKeeper的角色 领导者(Leader),负责进行投票的发起和决议,更新系统状态. 学习者(Learner),包括跟随者(Follower)和观察者(Observer),Follower用 ...

  9. Android studio图片ERROR: 9-patch image xx .9.png malformed

    Android studio 图片错误  9-patch image error in Android ERROR: 9-patch image xx .9.png malformed 1) 异常: ...

  10. swift 拼图小游戏

    依据这位朋友的拼图小游戏改编 http://tangchaolizi.blog.51cto.com/3126463/1571616 改编主要地方是: 原本着我仁兄的代码时支持拖动小图块来移动的,我參照 ...