最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > jsp教程

JSP内部对象学习

日期:08-13    来源:中国设计秀    作者:cnwebshow.com

1.1 applicationAdq中国设计秀
*在jsp中获得application对象Adq中国设计秀
如:getServletContext().setAttribute("counter",new mycount.Counter());Adq中国设计秀
如:<jsp:useBean scope="application" id="counter" class="mycounter.Counter"/>Adq中国设计秀
*在jsp中处理On Application Start和On session Start事件的方法Adq中国设计秀
使用HttpSessionBindingListener类.Adq中国设计秀
添加session:Adq中国设计秀
session.putValue("bingdings.listener",new MyListener(getServletContext());Adq中国设计秀
定义MyListener类:Adq中国设计秀
import javax.servlet.http.*;Adq中国设计秀
import javax.servlet.*;Adq中国设计秀
public class MyListener implements HttpSessionBindingListener{Adq中国设计秀
ServletContext context;Adq中国设计秀
public MyListener(ServletContext context){Adq中国设计秀
this.context=context;Adq中国设计秀
}Adq中国设计秀
public void valueBound(HttpSessionBindingEvent event){Adq中国设计秀
System.out.PRintln("valuebound:someone just bound my listener to a session!");Adq中国设计秀
}Adq中国设计秀
public void valueUnbound(HttpSessionBindingEvent event){Adq中国设计秀
System.out.println("valueunbound:someone just unbound my listener!");Adq中国设计秀
}Adq中国设计秀
}Adq中国设计秀

1.2 requestAdq中国设计秀
*获取一个正在运行时的jsp/servlet文件的绝对url地址Adq中国设计秀
Stringf file=request.getRequestURL();Adq中国设计秀
if(requet.getQueryString()!=null{Adq中国设计秀
file+='?'+request.getqueryString();Adq中国设计秀
}Adq中国设计秀
URL reconstructedURL=new URL(request.getScheme(),request.getServerName(),request.getServerPort(),file);Adq中国设计秀
out.println(reconstructedURL.toString());Adq中国设计秀
*获取客户端通过哪一个url访问本页面Adq中国设计秀
String callPage=request.getHeader("Referer");Adq中国设计秀
*获取当前脚本在当疥文件系统中的真实路径Adq中国设计秀
request.getRealPath(request.getServletPath());Adq中国设计秀
*判断多个submit中的一个Adq中国设计秀
<input type=submit name="sub" value="up">Adq中国设计秀
<input type=submit name="sub" value="down">Adq中国设计秀
在jsp中使用request.getParameter("sub");就可分辨Adq中国设计秀

1.3 responseAdq中国设计秀
*网页重定向之三方法Adq中国设计秀
(1)response.sendRedirect(url);Adq中国设计秀
(2)<%response.setStatus(HttpServletResponse.SC_MOVED_PREMANENTLY);Adq中国设计秀
String nowloc="/newpath/index.htm";Adq中国设计秀
response.setHeader("Location",newloc);%>Adq中国设计秀
(3)<jsp:forward page="/newpage.jsp"/>Adq中国设计秀
注意上法只能在任何输出还没有发送到客户端之前使用这种方法Adq中国设计秀
*禁用缓存Adq中国设计秀
<%response.setHeader("Cache-Control","no-store");Adq中国设计秀
response.setDateHeader("Expires",0);%>Adq中国设计秀

1.4 sessionAdq中国设计秀
*存活时间Adq中国设计秀
<%session.setMaxInactiveInterval(300);%>Adq中国设计秀
*注销Adq中国设计秀
session.invalidate();Adq中国设计秀

1.5 exceptionAdq中国设计秀
*在jsp页面中处理Servlet的错误Adq中国设计秀
protected void sendErrorRedirect(HttpServletRequest request,Adq中国设计秀
HttpServletResponse response,String errorPageURL,Throwable e)Adq中国设计秀
throws ServletException,IOException{Adq中国设计秀
request.setAttibute("javax.servlet.jsp.jspException",e);Adq中国设计秀
getServletConfig().getServletContext();Adq中国设计秀
getRequestDispatcher(errorPageURL).forward(request,response);Adq中国设计秀
}Adq中国设计秀
public void doPost(HttpServletRequest request,HttpServletResponse response){Adq中国设计秀
try{Adq中国设计秀
//Adq中国设计秀
}Adq中国设计秀
catch(Exception e){try{Adq中国设计秀
sendErrorRedirect(request,response,"/jsp/ErrPage.jsp",e);Adq中国设计秀
}catch(Exception e){e.printStackTrace();}Adq中国设计秀
}Adq中国设计秀
}Adq中国设计秀
*在jsp页面中输出错误的stacktraceAdq中国设计秀
(1)Adq中国设计秀
<%@ page isErrorPage="true%>Adq中国设计秀
<%Adq中国设计秀
out.println("<pre>");Adq中国设计秀
printWriter pw=response.getWriter();Adq中国设计秀
exception.printStackTrace(pw);Adq中国设计秀
out.println("</pre>");Adq中国设计秀
%>Adq中国设计秀
(2)Adq中国设计秀
<%@ page isErrorPage="true%>Adq中国设计秀
<pre>Adq中国设计秀
<%Adq中国设计秀
exception.printStackTrace(new PrintWriter(out));Adq中国设计秀
%>Adq中国设计秀
</pre>Adq中国设计秀

1.6 CookieAdq中国设计秀
*设置cookieAdq中国设计秀
<%Adq中国设计秀
Cookie mycookie=new Cookie("aName","aValue");Adq中国设计秀
response.addCookie(mycookie);Adq中国设计秀
//mycookie.setMaxAge(time);Adq中国设计秀
%>Adq中国设计秀

本文引用地址:/bc/article_46649.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明