网页浏览次数统计jsp代码及jsp总结
网页浏览次数统计代码
<a href="3g.jsp">3g</a>
<a href="java.jsp">java</a>
<%
object obj = application.getattribute("count");
if(obj==null){
integer count = 1;
application.setattribute("count",count);
}else{
integer count = (integer)obj;
count++;
application.setattribute("count",count);
}
%>
<h3>主页面访问的次数是:</h3>
<%=obj.tostring()%>
pagecontext对象
l pagecontext对象是jsp技术中最重要的一个对象,它代表jsp页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。
l 通过pagecontext获得其他对象
l getexception方法返回exception隐式对象
l getpage方法返回page隐式对象
l getrequest方法返回request隐式对象
l getresponse方法返回response隐式对象
l getservletconfig方法返回config隐式对象
l getservletcontext方法返回application隐式对象
l getsession方法返回session隐式对象
l getout方法返回out隐式对象
l pagecontext作为域对象
l pagecontext对象的方法
l public void setattribute(java.lang.string name,java.lang.object value)
l public java.lang.object getattribute(java.lang.string name)
l public void removeattribute(java.lang.string name)
l pagecontext对象中还封装了访问其它域的方法
l public java.lang.object getattribute(java.lang.string name,int scope)
l public void setattribute(java.lang.string name, java.lang.object value,int scope)
l public void removeattribute(java.lang.string name,int scope)
l 代表各个域的常量
l pagecontext.application_scope
l pagecontext.session_scope
l pagecontext.request_scope
l pagecontext.page_scope
l findattribute方法 (*重点,查找各个域中的属性)
l 引入和跳转到其他资源
l pagecontext类中定义了一个forward方法和两个include方法来分别简化和替代requestdispatcher.forward方法和include方法。
l 方法接收的资源如果以“/”开头, “/”代表当前web应用。
l jsp标签
l jsp标签也称之为jsp action(jsp动作)元素,它用于在jsp页面中提供业务逻辑功能,避免在jsp页面中直接编写java代码,造成jsp页面难以维护。
l jsp常用标签
l <jsp:include>标签
l <jsp:forward>标签
l <jsp:param>标签
l <jsp:include>标签
l <jsp:include>标签用于把另外一个资源的输出内容插入进当前jsp页面的输出内容之中,这种在jsp页面执行时的引入方式称之为动态引入。
l 语法:
l <jsp:include page="relativeurl | <%=expression%>" flush="true|false" />
l
l page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
l flush属性指定在插入其他资源的输出内容时,是否先将当前jsp页面的已输出的内容刷新到客户端。
l <jsp:include>与include指令的比较
l <jsp:include>标签是动态引入,<jsp:include>标签涉及到的2个jsp页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。
l 而include指令是静态引入,涉及到的2个jsp页面会被翻译成一个servlet,其内容是在源文件级别进行合并。
l 不管是<jsp:include>标签,还是include指令,它们都会把两个jsp页面内容合并输出,所以这两个页面不要出现重复的html全局架构标签,否则输出给客户端的内容将会是一个格式混乱的html文档。
l <jsp:forward>标签
l <jsp:forward>标签用于把请求转发给另外一个资源。
l 语法:
l <jsp:forward page="relativeurl | <%=expression%>" />
l page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。
l <jsp:param>标签
l 当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
l 语法1:
l <jsp:include page="relativeurl | <%=expression%>">
l <jsp:param name="parametername" value="parametervalue|<%= expression %>" />
l </jsp:include>
l 语法2:
l <jsp:forward page="relativeurl | <%=expression%>">
l <jsp:param name="parametername" value="parametervalue|<%= expression %>" />
l </jsp:include>
l <jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
l 重点
l 到此为止,web开发接触到了4个域对象,这4个域对象是学习web的重点,也是笔试经常考察的知识点
l pagecontext(称之为page域)//当前页面
l request(称之为request域)//请求
l session(称之为session域)
l servletcontext(称之为application域)
作者 qiwancong
下一篇: 默认鉴权与自定义鉴权