JSP+Ajax站点开发小知识
一.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站点开发小知识的更多相关文章
- React Native环境配置、初始化项目、打包安装到手机,以及开发小知识
1.前言 环境:Win10 + Android 已经在Windows电脑上安装好 Node(v14+).Git.Yarn. JDK(v11) javac -version javac 11.0.15. ...
- JSP页面中的小知识
1.<%…%>和<%!…%>的区别? <%…%>用于在JSP页面中嵌入Java脚本,即代码块 <%!…%>用于在JSP页面中申明变量或方法,可以在该页面 ...
- ajax的一些小知识
eval()可以把一个字符串转化为本地的js代码来执行 <script type="text/javascript"> var str = "alert('h ...
- bootstrap学习笔记(网页开发小知识)
这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...
- Python接口开发小知识
关于数据库设计 接口开发多学习数据库表操作,这是要点 不存在删除数据,每个可能被删除数据的表加一个is_active属性 不同的表可以有多个相同的字段,字段属性少用禁止非空 不要设置太多主外键(高内聚 ...
- web开发小知识
session共享机制:f5刷新是再次提交之前的数据请求 地址栏回车属于不同的请求 不同浏览器获取不到之前数据 同一浏览器可以获取同步数据 session注销:session.invalidate() ...
- 【ZeyFraのJavaEE开发小知识05】Mybatis-Plus & Axios
关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus[踩坑记录01]一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionF ...
- Android开发小知识
修改Android app图标(Android Studio) 1. res\drawable 放置icon.png(此图片是你需要修改的图标); 2. 修改AndroidManifest.xml ...
- 【ZeyFraのJavaEE开发小知识01】@DateTimeFomat和@JsonFormat
@DateTimeFormat 所在包:org.springframework.format.annotation.DateTimeFormat springframework的注解,一般用来对Dat ...
随机推荐
- frontend http 前端名字定义问题
https://www.winfae.com/admin/api/menu haproxy 日志: Jun 24 13:04:49 localhost haproxy[14817]: 115.236. ...
- JavaScript引用类型之Object类
ECMAScript中的Object类跟Java中的Object类相似,ECMAScript中的全部类都由这个类继承而来,Object类中的全部属性和方法都会出如今其他类中,所以理解Object类,就 ...
- win7下硬盘安装win7+CentOS双系统方法
原文:win7下硬盘安装win7+CentOS双系统方法 LinuxCentOS安装大致介绍: win7下硬盘安装win7+CentOS双系统方法 原则: 所有的看完在装,请仔细看 一 条件: 1. ...
- hdu3605(最大流+状态压缩)
传送门:Escape 题意:给出每个人适合住的星球信息和该星球能住多少人 ,第一行给出n m 代表有 n 个人 m 个星球,然后接下来n行每行m个数字 1代表适合第 i 个星球 0 代表不适合第 i ...
- FZU2177(dp)
传送门:ytaaa 题意:有n个***(不能调换顺序),可以组成x(x<n)个炸弹,每个炸弹的威力为该组的(max-min)^2,现在给出n个***的威力值,求能组成所有炸弹的最大威力和. 分析 ...
- Window8.1 64位无法使用Debug命令的解决方法[附牛人代码]
偶然看到网上一篇文章,讲的是世界黑客编程大赛第一名的一个很酷的程序,大小仅有4KB,使用debug命令执行. 悲催的是win8.1的debug命令不能使用. 错误例如以下: 解决方法例如以下: 1. ...
- Codeforces Round #FF 446 C. DZY Loves Fibonacci Numbers
參考:http://www.cnblogs.com/chanme/p/3843859.html 然后我看到在别人的AC的方法里还有这么一种神方法,他预先设定了一个阈值K,当当前的更新操作数j<K ...
- 从尾到头打印链表--《剑指offer》
题目:非常easy,就是题目,将链表从尾到头打印出来. 可能我们首先想到的是将链表进行遍历,将之前的訪问的数据进行保存,最后进行反向输出,但是保存数据的空间是个问题:或者是我们将整个链表进行反向操作, ...
- [WPF] 使用Grid与GridSplitter排版布局
原文:[WPF] 使用Grid与GridSplitter排版布局 前言 在開發應用程式時,一個很重要的工作項目就是設計使用者介面的排版布局.WPF中所提供的Grid控制項,讓開發人員擁有將版面分割為欄 ...
- WP开发使用BingMaps地图服务
原文:WP开发使用BingMaps地图服务 WP8使用BingMaps地图在 SOAP服务如何计算路径 首先需要用到3个服务 1.GeoCode服务-转换地址到地理的经纬度(WebServices地址 ...