我使用请求分配器将请求从控制器包中的Servlet类转发到bean包中的类。这是我的代码。

private void credentialProcessing(HttpServletRequest request,
            HttpServletResponse response) {

        try{


            RequestDispatcher rd=request.getRequestDispatcher("algo");//this class is in bean package
            rd.forward(request, response);
        }
         catch (ServletException e) {

            e.printStackTrace();
        } catch (IOException e) {

            e.printStackTrace();
        }


    }




错误:
每当我尝试执行此操作时,Tomcat都会给我错误,要求资源未找到..另一方面,如果我访问了控制程序包类,则会被访问。

最佳答案

RequestDispatcher使用路径转发请求,它不允许您指定将请求转发到的类。

getRequestDispatcher


  返回一个RequestDispatcher对象,该对象充当
  位于给定路径的资源。 RequestDispatcher对象可以是
  用于将请求转发到资源或包括资源
  作为回应。资源可以是动态的或静态的。


如果要从Servlet访问algo类,请在Servlet中创建该类的实例。

private void credentialProcessing(HttpServletRequest request,
            HttpServletResponse response) {

        try{
           algo al = new algo();
           al.callSomeMethod();
        }
         catch (ServletException e) {

            e.printStackTrace();
        } catch (IOException e) {

            e.printStackTrace();
        }
    }


附带说明

查看Java类的命名约定,该约定要求将类名大写。

10-07 20:26