バーディー:
私は、単純な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>