JSPアプリケーションの最初のページ管理、他のサーブレットとサーブレットをロードする方法

バーディー:



私は、単純なJSPのappicationに最初のページとしてサーブレットをロードしたかったです。したがって、私はこのURLマッピングにサーブレットを追加しました。

<servlet>
    <servlet-name>StudentController</servlet-name>
    <servlet-class>com.stu.controller.StudentController</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>StudentController</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

そして、これは前述したサーブレットのGetメソッドです。

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String path = request.getServletPath();
        if (path.equals("/addstudent")) {
            createStudent(request, response);
            ......
        else {
            searchAll(request, response);
        }
     }     

    protected void searchAll(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        List<StudentDTO> coList = null;
        coList = StudentDAO.searchStudentList();
        if (coList != null) {
           request.setAttribute("stulist", coList);
        } else {
           request.setAttribute("msg", "No Record Found.");
        }
        RequestDispatcher rd = request.getRequestDispatcher("home.jsp");
        rd.forward(request, response);
   }  

これは、予測として働いているが、問題は、私はと呼ばれる別のサーブレットを作成しようとしているCourseControllerを、私はweb.xmlにそれをマッピングし

<servlet>
    <servlet-name>CourseController</servlet-name>
    <servlet-class>com.stu.controller.CourseController</servlet-class>
</servlet>
 <servlet-mapping>
    <servlet-name>CourseController</servlet-name>
    <url-pattern>/course/</url-pattern>
</servlet-mapping>

そして、サーブレットの取得は前と同じです。

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String path = request.getServletPath();
        if (path.equals("/addcourse")) {
            createCourse(request, response);
            ......
     } 

そして私は、私の中でアンカータグを使用してサーブレットにアクセスしようとしましたhome.jspをするページ。

<a href="${pageContext.request.contextPath}/newstudent">Create Student</a> 
<br/>
<a href="${pageContext.request.contextPath}/course/newcourse/">Create Course</a> 

しかし、私は、接続しようとしたときに404エラーを取得しておくCourseControllerサーブレットを

エラーメッセージ

このStudentControllerサーブレットでの検索searchall方法にはいくつかの方法をリターン。私は何かがここにマッピングが間違っている理解しています。しかし、私はそれが何であるかを知りません。

助けてください。ありがとうございました。

ステファン:

あなたが複数のサーブレットを持っている場合は、「/」そう、ユニークなURLパターンを設定することができない作業する必要があります。

あなたの最初のサーブレットが「/ newstudentは、」あなたは歓迎-ファイルとして設定することができURLパターンを持っていると仮定すると:

<welcome-file-list>
    <welcome-file>newstudent</welcome-file>
</welcome-file-list>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=285343&siteId=1