首先,你要在被调用的servlet里面加入对自己的标记,类似这样(比如你要调用的servle名叫yourServlet):getServletContext().setAttribute("yourservlet",this);
然后你可以在需要调用的地方,这样:
yourServlet yourserv = (yourServlet)getServletContext().getAttribute("yourservlet");

解决方案 »

  1.   

    我主要是想问目录访问的问题,我用ie访问总得到404错误,就是找不到对应的urlresponse.sendredirect("????");
    这个???里这么写?
      

  2.   

    就是你要指向的URI, 比如/index.jsp还可以用request.getRequestDispatcher("/index.jsp").forward(request, response);
      

  3.   

    /index.jsp 与index.jsp应该有区别吧,和目录也有区别吧???
      

  4.   

    package com.tt.genwesite.servlet;import com.tt.genwesite.util.*;
    import com.tt.genwesite.bean.SysConfValidator;
    import org.apache.log4j.*;//开源的日志管理包
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import java.lang.Integer;
    import java.sql.*;/**
     * Title:
     * Description:
     * Copyright:    Copyright (c) 2002
     * Company:
     * @author
     * @version 1.0
     */public class SessionServlet extends HttpServlet {
      private static final String CONTENT_TYPE = "text/html; charset=GBK";
      /**Initialize global variables*/
      public void init() throws ServletException {
      }
      /**Process the HTTP Get request*/
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
           String url="";
            String login_name="";
            String user_pass="";
        ///////
      try {
        HttpSession session = request.getSession(false);    login_name=(String)session.getAttribute("login_name");
        user_pass=(String)session.getAttribute("user_pass");
          }catch(Exception e){
       System.out.println("参数错误:获取SESSION失败");
       response.sendRedirect("/course/login.jsp");
       }
        if (login_name==null||user_pass==null||user_pass.equals("")||login_name.equals(""))
    {
    response.sendRedirect("/course/login.jsp");
    }    ///////
       //String sort = "";   //sort=request.getParameter("sort");
      try {
       url=request.getParameter("url");
       }
       catch(Exception e){
       System.out.println("参数错误:未得到期望的参数");
       response.sendRedirect("/course/login.jsp");
       }
       //得到当前月份如2002-03
             /*
            Calendar cal;
    String tTheDate="";
            String month="";
            int year=0;
            int monthT=0;                  //tTheDate=request.getParameter("thedate");
                      //if(tTheDate.equals(null) || tTheDate.equals(""))
                      //{
                       cal=Calendar.getInstance();
             year=cal.get(Calendar.YEAR);
             monthT=cal.get(Calendar.MONTH);
             if(monthT<10)
             {
             month="0"+monthT;
             }         tTheDate=year+"-"+month;
             //}              Cookie[] myCookie=new Cookie[3]; for(int i=0;i<3;i++){
                         if(i==0)
                            myCookie[i]=new Cookie("sort",sort);
                         else if(i==1)
    myCookie[i]=new Cookie("Cookie"+i,"Value"+i);
                            ///
    myCookie[i].setMaxAge(200);
    response.addCookie(myCookie[i]); }
       PrintWriter out = response.getWriter();
       out.println(sort);
       */         if(url== null || url.equals(""))
             {
                    response.sendRedirect("/course/login.jsp");
                    return;
             }
                    else
                    {
                    //url=url+"?thedate="+tTheDate;
                       //设置页面session
                      //HttpSession sessionURL=request.getSession(true);
                      //sessionURL.setAttribute("url","on");
                      //sessionURL.setMaxInactiveInterval(300);
                   ////
                   Cookie[] myCookie=new Cookie[1]; for(int i=0;i<1;i++){
                         if(i==0)
                            myCookie[i]=new Cookie("url","on");
                  myCookie[i].setMaxAge(3);
    response.addCookie(myCookie[i]);
                      }
                    response.sendRedirect(url);
                     return;
                    }
          /*
             if(sort.equals("MidTop"))
             {
                    response.sendRedirect("/course/magazine/mid_top_list.jsp");         }
                    if(sort.equals("MidDown"))
             {
                    response.sendRedirect("/course/magazine/mid_down_list.jsp");         }
              if(sort.equals("AdvTop"))
             {
                    response.sendRedirect("/course/magazine/adv_top_list.jsp");         }
              if(sort.equals("AdvDown"))
             {
                    response.sendRedirect("/course/magazine/adv_down_list.jsp");         }
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String title = "Searching the Web";
    String heading;
    Integer accessCount = new Integer(0);;
    if (session.isNew()) {
    heading = "Welcome, Newcomer";
    } else {
    heading = "Welcome Back";
    Integer oldAccessCount =
    // 在Servlet API 2.2中使用getAttribute而不是getValue
    (Integer)session.getValue("accessCount");
    if (oldAccessCount != null) {
    accessCount =
    new Integer(oldAccessCount.intValue() + 1);
    }
    }                */
      }
      /**Process the HTTP Post request*/
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>SessionServlet</title></head>");
        out.println("<body>");
        out.println("<p>The servlet has received a POST. This is the reply.</p>");
        out.println("</body></html>");
      }
      /**Process the HTTP Put request*/
      public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      }
      /**Process the HTTP Delete request*/
      public void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      }
      /**Clean up resources*/
      public void destroy() {
      }
    }