_JSP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

J内部对象详解

作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0

本篇关键词:详解对象内部response

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

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

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

  1.4 session
  *存活时间
  <%session.setMaxInactiveInterval(300);%>
  *注销
  session.invalidate();

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

  1.6 Cookie
  *设置cookie
  <%
  Cookie mycookie=new Cookie("aName","aValue");
  response.addCookie(mycookie);
  //mycookie.setMaxAge(time);
  %>


    希望这篇J内部对象详解的文章能够对您有所帮助,如果您觉得这篇网站维护教程有用的话,别忘了推荐给您的朋友哦!如果您有好的经验方法,不妨拿出来和大家一起分享:假如每个人都拿出一个经验,那么我们都将额外的获取一堆他人的经验。
请记住本站永久域名:(黑客防线网安服务器维护方案维护基地)Www.Rongsen.Com.Cn
    黑客防线网安服务器维护方案本篇连接:http://kj.rongsen.com.cn/show-16340-1.html
网站维护教程更新时间:2012-04-07 00:17:57  【打印此页】  【关闭
0
顶一下
0
踩一下
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer