Comment charger servlet comme première page dans l'application jsp gérer d'autres servlets

birdie:



Je voulais charger un servlet comme la première page dans mon appication simple, jsp. Par conséquent, j'ai ajouté le servlet dans ce mappage d'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>

Et ceci est la méthode Get de servlet mentionnée ci-dessus.

@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);
   }  

Cela fonctionne comme prévu, mais le problème est que j'essayé de créer un autre servlet appelé CourseController et je mappée dans 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>

Et Obtenir du servlet est le même que précédemment.

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

Et je tenté d'accéder au servlet en utilisant une balise d'ancrage dans ma home.jsp page.

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

Mais je continue à obtenir une erreur 404 en essayant de se connecter servlet CourseController .

Message d'erreur

Ce retour de quelques - uns comment la méthode searchAll dans servlet StudentController. Je comprends quelque chose ne va pas avec la mise en correspondance ici. Mais je ne sais pas ce que.

Aide s'il vous plaît. Je vous remercie.

Stefan:

Vous devez configurer url-modèles uniques, de sorte que « / » ne peut pas fonctionner si vous avez plus d'un servlet.

En supposant que votre première servlet a URL modèle « / newstudent », vous pouvez le configurer en tant que fichier de bienvenue:

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

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=285344&siteId=1
conseillé
Classement