18 02 01 的任务总结

这次 做了一个任务,完成任务,总结一下:
·前边用的是ajax:这次遇到的问题是数据问题,ajax固定格式没的说,关键的地方在于传值的问题上,所以为了
 防止数据在传输过程中发生变化,最好用json 传值。
·后台逻辑问题:这个任务逻辑很乱,看花眼,很多层的if else ,这个没的说,只能是一点点想,想好就开始写,
 要不就忘了。
·在对于循环的理解上很不到位,忽略了i<的那个值 写成了动态的,以至于debug半天都找不到问题。
·新增两个知识点:select top 1 cutter from cutter where mingzi<='***' order by mingzi desc
·每个字符都有内码,字符和字符串都可以比大小

top的用法:一个是 查询一个序列的几个数字,一个是查询百分比的数量。

注意;在mysql 中,top是被限制的,sqlserver中是可以直接用的。

字符串的比较:用compareto 进行比较 在前边的数值小,后边的数值大,具体些例子 就能看出来。

对于字符串的处理:几个方法substring indexof  还有按“ ”截取。

问题,为什么要用ajax:网上看到一个感觉特别好的和自己的理解。

1. 通过异步模式,提升了用户体验(异步和同步的区别:同步是指:发送方发出数据后,等接收方发回响应以后才
发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。  )
明白了:同步和异步的区别
就是等待不等待服务器的数据返回,一个是等待,这样浏览器就不能做任何事情,只能等待服务器的相应,一个是异步
就不用等待了。可以跳过去作别的事情。
2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,(减少不必要的数据传输)
3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
2、AJAX最大的特点是什么。
Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,
并避免了在网络上发送那些没有改变过的信息。

·sqlserver的问题要拿出时间去解决学习一下。(SQL Server 是一个关系数据库管理系统。)
  
 ·全部转换成 大小写代码;str = str.toLowerCase()
  
·这层意思是 后台要响应前台的数据,response。getw...print();但是什么,以前的那个mvc模式就没有响应,前台
·直接el过去。 什么时候响应什么时候用了呢?
·关于送值的问题还是应该response一下。(这里大神有看到的话,希望可以帮我理解一下)

·对于ajax的错误 要注意url的web路径,和传输数据格式上的错误。 
·对于json,引入jar包先,在直接调用就ok代码:JSONObject.formObject(map);
·jquery中ajax方法有个属性async用于控制同步和异步 true 和false 一般不设置。
·对于 规范:把js从jsp中分离出来
·json 有个eval方法:要注意对象和字符串的区别。再去找属性。
success(data){
console.log(data);
var val=eval("("+data+")");
alert(val.shuxing);
}
·对于循环的理解:要深一些。主要就是循环条件,千万不要写成动态的。
回顾一下 转发和重定向:
Forward是在服务器端的跳转,就是客户端一个请求发给服务器,服务器直接将请求相关的参数的信息原封不动的
传递到该服务器的其他jsp或servlet去处理,而sendredirect是在客户端的跳转,服务器会返回给客户端一个响应
报头和新的URL地址,原来的参数什么的信息如果服务器端没有特别处理就不存在了,浏览器会访问新的URL所指向
的servlet或jsp,这可能不是原先服务器上的webservce了。
最好用重定向。

sql语句中要注意,排序和截取limit两个点 
SELECT * from cutter where mingzi<='azb'  ORDER BY cutter desc LIMIT 1,10。

字母之间可以直接进行比较:在sql语句中,直接可以比较字母的大小,他们有一个前后的位置。

这个网上看到一篇写的很好,记录一下:
limit的用法;在mysql中,为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为-1
SELECT * FROM table LIMIT 95,-1; //检索记录行96-last
如果只给定一个参数,它表示返回最大的记录行数目,换句话说,LIMIT n 等价于 LIMIT 0,n
mysql> SELECT * FROM table LIMIT 5; //检索前5个记录行
简单的说limit用法:当后边是一个参数的时候,表示检索的数量。 两个的时候检索的是从哪开始,检索多少条数据
对于数据库的优化:select * from table limit 0,10 和
 select * from table limit 10000,10检索的速度差别很大 。所以这个时候,当前边数值较小的
 时候可以直接用,当数值较大的时候,
Select * From table Where vid >=(Select vid From table Order By vid limit 10000,1) limit 10
这个速度比较快。

代码整理:(部分是在网上摘的,总结起来方便以后自己写代码,博主看见请不要介意)
1 判断 字符是否是 数字: 
char num[] = str.toCharArray();//把字符串转换为字符数组   
if(Character.isDigit(num[0])){就是这个方法,判断是不是数字。Character.isDigit()
2 去掉所有的标点符号:
xingshi = str.replaceAll("[\\pP‘’“”]", ""); //去掉所有的标点符号 其中P p分别代表一定的含义。
str = str.replaceAll("[\\pP‘’“”]", ""); 
Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。 
\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。 
大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。 
其他六个是 
L:字母; 
M:标记符号(一般不会单独出现); 
Z:分隔符(比如空格、换行等); 
S:符号(比如数学符号、货币符号等); 
N:数字(比如阿拉伯数字、罗马数字等); 
C:其他字符 
3 将数字转变成英文:
用到一个工具类,在网上可以查到直接用。直接new inport()代码放在这吧。
4 对字符串的处理:
substring(0, last);cutternumber.split("\\s+")//按空格进行截取。indexof字符串的指定位置

 




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值