一.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. SilkTest高级进阶系列9 – 异步执行命令

    我们常常会使用sys_execute函数执行一些外部的程序或者命令来做一些事情,但是由于sys_execute是一个同步的函数,它会等待执行的命令完成后才会返回.在大多数情况下,这个函数足够用了. 但 ...

  2. 使用HashMap须要注意的事儿:不要暴露Map.entry给外部不可信代码Map.entrySet()

    Map/HashMap是java中一种非经常常使用的数据结构,一般我们在应用中做的事情就是调用put向容器写入数据或者是get从容器读取数据. Map.entrySet()这种方法返回了键值对的集合, ...

  3. jQuery EasyUI API 中文文档 - 布局(Layout)

    <html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...

  4. 牛逼的验证码,printf返回值

    牛逼的验证码,如下图, 结果是4321,为什么呢,主要是printf返回值问题?那么printf到底返回什么? 经查阅,printf的返回值是打印的字符个数,因此结果是4321就很明显了.

  5. spring 普通类获取四大作用域request、applicationContext、session、page

    几乎所有web应用容器都提供了四种类似Map的结构:application session request page,Jsp或者Servlet通过向着这四个对象放入数据,从而实现Jsp和Servlet ...

  6. Lucene全文检索的【增、删、改、查】 实例

    创建索引 Lucene在进行创建索引时,根据前面一篇博客,已经讲完了大体的流程,这里再简单说下: Directory directory = FSDirectory.open("/tmp/t ...

  7. 提高PHP编程效率的方法

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说 ...

  8. WPF中不规则窗体与WebBrowser控件的兼容问题解决办法

    原文:WPF中不规则窗体与WebBrowser控件的兼容问题解决办法 引言 这几天受委托开发一个网络电视项目,要求初步先使用内嵌网页形式实现视频播放和选单,以后再考虑将网页中的所有功能整合进桌面程序. ...

  9. 在iOS7中改动状态栏字体的颜色

    状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一.在info.plist中,将View contro ...

  10. 该Tiled地图制作拿到项目~~这是偷懒,为了直接复制后写来

    1.现在,.h声明private: cocos2d::CCSprite* ninja; cocos2d::CCTMXTiledMap*  tileMap; 然后.cpp中增加tileMap = CCT ...