java基础知识总结

来源:互联网 发布:r数据分析师 编辑:程序博客网 时间:2024/06/11 15:23
1:EL表达式可操作常量 变量 和隐式对象. 
最常用的 隐式对象有${param}和${paramValues}. 

2:<%@ page isELIgnored="true"%> 表示是否禁用EL语言: 
TRUE表示禁止.FALSE表示不禁 止.JSP2.0中默认的启用EL语言. 

3:EL 逻辑表达式: 
${true and false}结果是false,关系表达式如${5>6} 结 果是false ,算术表达式如 ${5+5} 结果是10 

4:读cookie中的值 
${cookie.userCountry} 

5:)header和headerValues 
header 储存用户浏览器和服务端用来沟通的数据 
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]} 

6:initParam取得设定web站点的环境参数(Context) 
例:一般的方法String userid = (String)application.getInitParameter("userid"); 
可以使用 ${initParam.userid}来取得名称为userid 

7:pageContext取得其他有关用户要求或页面的详细信息。 
${pageContext.request.queryString}    取得请求的参数字符串 
${pageContext.request.requestURL}    取得请求的URL,但不包括请求之参数字符串 
${pageContext.request.contextPath}    服务的web application 的名称 
${pageContext.request.method} 取得HTTP 的方法(GET、POST) 
${pageContext.request.protocol}    取得使用的协议(HTTP/1.1、HTTP/1.0) 
${pageContext.request.remoteUser}    取得用户名称 
${pageContext.request.remoteAddr }    取得用户的IP 地址 
${pageContext.session.new}   判断session 是否为新的 
${pageContext.session.id}取得session 的ID 
${pageContext.servletContext.serverInfo}   取得主机端的服务信息 


8:其它运算符有三个:Empty运算符、条件运算符、()运算符 

例:${empty param.name}、${A?B:C}、${A*(B+C)} 

get与post区别


1、get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用?连接,而各个变量之间使用&连接。Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL; 

结论: 
1、get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制(注:只有ie有这个限制。其他浏览器没有)。post传送的数据量较大,所以在上传文件只能使用Post。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;(注:文件上传文件大小不包含在这里,只包含文件路径的长度) 
2、get安全性非常低(因为用户可以通过URL看到),post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比post方法好; 
3、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集; 
4、很简单的一个原则,获取数据用get,改变/添加数据用post。因为get会被浏览器缓存,post不会。这样可以提高响应速度。并且用get用户可以从url中看到自己的操作,优化好的情况下可以使get url具备可读性/观赏性。 

关于响应速度: 
1.get请求是可以被客户端缓存的。比post高效。 
2.AJAX环境中get响应快速,post需要先发送header再发送post data。


jstl利用fn截取字符串

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

${fn:substring(book.summary, 055)}  


原创粉丝点击