一.JSP基础

1.<select  name="love"  size="3">当中的size属性指定了列表框显示选项的条数。假设全部选项多于这个数。将会出现滚动栏。

2.addCookie(Cookie  cookie)方法将其放入client,获取Cookie对象可调用request对象的Cookie[]  getcookies()方法。

Cookie   myCookie  =  new  Cookie("name",  "Tom");

respense.addCookie(myCookie);   //将myCookie保存到client

3.当用户登录站点时。系统将为登录用户生成一个独一无二的session对象,而且不同的session对象不会相互干扰。这样就能够使用session对象存储特定的用户会话过程中的数据,当用户在页面之间跳转时,存储在session对象中的数据不会被清除,而是跟踪着用户在同一站点漫游过程中始终存在,仅仅有当会话过期或被放弃后,server才终止维持这个对象。

4.<button  onclick="location.href='shop.jsp'">继续购买商品</button>

5.application对象是JSP的一个内置对象,它是ServletContext类的实例。server启动后,就产生了appliaction对象。客户在站点的各个页面之间跳转浏览时,appliaction对象一直保持存在且是唯一的,直到server关闭。可是,与session对象不同的是。全部客户的application对象都是同一个。即全部客户共享appliaction对象。这样appliaction对象就能够起到一个全局变量的作用。

6.编写读取文件的核心代码。这里使用了java.io包里的几个类。类File是文件和文件夹路径名的抽象表示形式。其构造方法“public  File( String  parent,  String  child ) "依据父路径名字符串和子路径名字符串创建一个新的File对象。类FileReader是用字符流方式来读取字符文件的便捷类,其构造方法“public  FileReader( File  file )”创建一个新的从给定的File对象中读取文本。对一个字符输入流对象进行包装,可以缓冲各个字符。从而提供字符,数组和行的高效读取,其构造方法“public 
BufferedReader ( Reader  in )”创建一个以默认大小为缓冲区的缓冲字符输入流。能够对文本文件按行读取。

7.在这里创建的File对象必须用绝对路径:“C:\\Tomcat\\webapps\\JSP_Ajax”。此外,文件夹分隔符不能为“\”,必须为“\\”。

8.strB.append("<xmp>").append(str).append("</xmp>");因为浏览器遇见HTML代码总要进行解释,从HTML文件中读取的HTML标记全被浏览器“截获”而不被显示;而xmp标签能够让浏览器不解释其内部的全部内容(包含HTML标记)。从而使读取到的HTML标记才会显示出来。

二.JSP与数据库

1.ResultSet类型的rs变量。用来保存从数据库里提取出来的记录,最后通过一个循环把全部的记录显示出来。

2.java.sql.PreparedStatement类是Statement的子类,并继承了Statement的全部功能。另外,它还加入了一整套方法,用于设置发送数据库以代替IN參数占位符的值。

它的对象能够包括预编译的SQL语句。这就是使语句“准备好”。包括在PreparedStatement对象中的SQL语句可具有一个或多个IN參数。

IN參数的值在SQL语句创建时未被指定,而是为每一个IN參数保留一个问号“?”作为占位符。每一个问号的值必须在该语句运行之前。通过适当的setXXX方法来提供。

因为PreparedStatement对象已预编译过,所以其运行速度要快于Statement对象。因此。多次运行的SQL语句常常被创建为PreparedStatement对象,以提高效率。

3.为PreparedStatement对象中的“?”占位符设置值的时候。要注意它们的编号是从1開始的。

4.在数据库操作中,一项事务是指由一条或多条对数据库操作的SQL 语句所组成的一个不可切割的工作单元。

仅仅有当事务中的全部操作都正常完毕了,整个事务才干被提交到数据库,假设有一项操作没有完毕,就必须撤销整个事务。在默认情况下,连接是自己主动提交模式。

5.con.setAutoCommit( false );//禁止自己主动提交事务

con.commit();  //统一提交

con.rollback();//假设当中一项SQL操作失败,就不会运行commit()方法,而是产生对应的sqlexception。此时就能够捕获异常代码块中调用rollback()方法撤销事务。

6.假设一个页面须要连接数据库,那么对它的每一次Web请求都会建立一次数据库连接。对于一次或几次操作来讲。也许觉察不到系统的开销。可是在实际中,即使在某一较短的时间段内,其操作请求数也远远不是一两次。而是数十次或上百次,在这样的情况下。系统的开销是相当大的。

数据库连接池的最基本思想是。预先建立一些连接放置在一个抽象“池”中以备用。当程序中须要建立数据库连接时。仅仅须要从池中取一个来用而不用新建。相同。使用完成后,仅仅需放回“池”中就可以。

连接的建立,断开都由连接池自身来管理,程序猿则不用插手这个过程。因为它是预先建立了一些连接,而且这些连接能够共享,因此就节省了每次连接的时间开销。

三.JSP与JavaBean

1.JavaBean能够分为可视化Bean和不可视化Bean。可视化Bean能够表示为简单的GUI组件;不可视化JavaBean在后台完毕业务逻辑处理功能。

2.在进行数据库操作时,必须用try{} catch{}语句进行异常处理。

3.文件上传页面。enctype属性必须设置为multipart/form-data。

四.JSP与Servlet

1.answer = Math.abs( new  Random().nextInt()  %   100 )   +    1;首先。生成一个随机类,并调用这个类的nextInt()方法生成一个随机整数;然后,取余。最后,通过abs()方法获得绝对值后加1就获得了1~100之间的随机数。

五.实现基本Ajax技术

1.xmlHttp.onreadystatechange = callback;主要设置处理server端响应的函数,即JavaScript回调函数,表示client一旦获取server端响应,就马上运行该函数。

xmlHttp.open( "post", "HelloAjaxDo.jsp", true );表示向server程序创建一个异步请求,其目的页面为HelloAjaxDo.jsp。open函数中所指定的"true"參数说明想要异步运行该请求,在没有指定的情况下默觉得“true”。

2.函数callback()是回调函数。它首先检查XMLHttpRequest对象的总体状态以保证它已经完毕(readyStatus==4),然后依据server的设定询问请求状态。假设一切正常(status==200),就使用“var  data = xmlHttp.responseText;”这取得返回的数据,用innerHTML属性重写DOM的“pNode”节点的内容。

3.XMLHttpRequest对象,能够使用send()方法发送參数,也能够通过open()方法的參数URL本身发送有參请求。其实。用URL发送数据更easy。假设须要发送安全信息或XML,应考虑使用send()方法发送,否则使用open()方法的參数URL本身发送,此时仅仅要传递“null”作为send()方法的參数就可以。

六.实现高级Ajax技术

七.Ajax数据库操作

1.在server。虽然XML数据解析有广泛的工具支持。如JDOM,DOM4J等;但在client,仍需使用DOM来解析XML数据,依旧是非常复杂。非常烦琐,并且DOM在各种浏览器中的实现细节不尽同样,其跨浏览器兼容性出现故障的可能性也极大,这将使编程更为复杂和烦琐。

如今。JSON作为一种更轻松,更友好的数据格式已经备受推崇。JSON和XML一样也是一种简单的数据格式,它比XML数据格式更易于阅读和编写。

JSON数据格式全然匹配JavaScript引擎,是JavaScript的原生格式。它为在client进行数据解析带来了方便和快捷。

八.Ajax时尚技术

九.Ajax框架的使用

1.在诸多的Ajax框架中,Prototype框架是应用最广泛的框架之中的一个。Prototype.js是由Sam Stephenson写的一个JavaScript类库,这个构思奇异,并且兼容标准的类库,能帮助用户轻松建立具有高度互动的client页面。

2.request.getRemoteAddr()用来获得client的IP地址。

3.在使用Statement,PreparedStatement。ResultSet这些对象后。必须关闭它们。

JSP+Ajax站点开发小知识的更多相关文章

  1. React Native环境配置、初始化项目、打包安装到手机,以及开发小知识

    1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...

  2. JSP页面中的小知识

    1.<%…%>和<%!…%>的区别? <%…%>用于在JSP页面中嵌入Java脚本,即代码块 <%!…%>用于在JSP页面中申明变量或方法,可以在该页面 ...

  3. ajax的一些小知识

    eval()可以把一个字符串转化为本地的js代码来执行 <script type="text/javascript"> var str = "alert('h ...

  4. bootstrap学习笔记(网页开发小知识)

    这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...

  5. Python接口开发小知识

    关于数据库设计 接口开发多学习数据库表操作,这是要点 不存在删除数据,每个可能被删除数据的表加一个is_active属性 不同的表可以有多个相同的字段,字段属性少用禁止非空 不要设置太多主外键(高内聚 ...

  6. web开发小知识

    session共享机制:f5刷新是再次提交之前的数据请求 地址栏回车属于不同的请求 不同浏览器获取不到之前数据 同一浏览器可以获取同步数据 session注销:session.invalidate() ...

  7. 【ZeyFraのJavaEE开发小知识05】Mybatis-Plus & Axios

    关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus[踩坑记录01]一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionF ...

  8. Android开发小知识

    修改Android app图标(Android Studio) 1.  res\drawable 放置icon.png(此图片是你需要修改的图标); 2.  修改AndroidManifest.xml ...

  9. 【ZeyFraのJavaEE开发小知识01】@DateTimeFomat和@JsonFormat

    @DateTimeFormat 所在包:org.springframework.format.annotation.DateTimeFormat springframework的注解,一般用来对Dat ...

随机推荐

  1. AngularJs打造一个简易权限系统

    AngularJs打造一个简易权限系统 一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJ ...

  2. thinkphp3.2

    1.安装WAMPServer,到D:\wamp\. 2.下载ThinkPHP3.2.2核心版.解压缩后,放到D:\wamp\www\MyWeb\.打开浏览器,输入网址:http://localhost ...

  3. hdu4908(中位数)

    传送门:BestCoder Sequence 题意:给一个序列,里面是1-N的排列,给出m,问以m为中位数的奇数长度的序列个数. 分析:先找出m的位置,再记录左边比m大的状态,记录右边比m大的状态,使 ...

  4. jQuery 自学笔记—5 遍历

    什么是遍历? jQuery 遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML 元素.以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止. 下图展示了一个家族树. ...

  5. Drools学习笔记-01-在eclipse indgo集成Drools5.5

    1.1.条件 Drools它是一个基于Java开源规则引擎.因此,使用Drools以及前需要安装在开发机器JDK周边环境,Drools5.5需要JDK版本号的1.5或者更多. 1.2.开发环境搭建 大 ...

  6. MBR格式无法识别2T以上的硬盘的问题

    早上有人打电话说四块2T的sata 硬盘做了raid 5之后安装window server 2012的时候,无法创建分区,安装完系统后无法给剩余的硬盘创建分区,刚开始的时候我还以为是别人分区的数量问题 ...

  7. three.js是JavaScript编写的WebGL第 三方库

    three.js是JavaScript编写的WebGL第 三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质 ...

  8. windows之实现3D立体效果的三种方法

    第一种:快捷键:win+tab 另外一种:cmd输入rundll32.exe dwmapi #105 第三种:使用软件bumptop

  9. excel删除问号~?~

    1.直接替换(菜单)编辑——替换——查找内容——(输入)~?~——替换为(空,就是什么都不输入)——全部替换.2.设原数据在A列,从A1开始,若得到的数值数据需要参与计算,则在B1输入=--LEFT( ...

  10. Cantor的数表 【找规律】

    小俞同学,近期勤学苦练数学,对一种数表产生了兴趣. 数表例如以下: 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/4 3/1 3/2 3/3 4/1 4/2 5/1 她冥思苦相了 ...