2014-02-07 5 views
0

Я новичок в сервлете и делаю свой первый сервлет с помощью eclipse.I сделал Index.html, Login.java и WelcomeServlet.java. Но всякий раз, когда я пытаюсь получить доступ к помощибраузер показывает ошибку 404

localhost:8080/ServletExample/ 

Это показывает 404 error.Here являются коды ..

index.html

<form action="Login" method="post"> 
Name:<input type="text" name="userName"/><br/> 
Password:<input type="password" name="userPass"/><br/> 
<input type="submit" value="login"/> 
</form> 

Login.java

public class Login extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     String n=request.getParameter("userName"); 
     String p=request.getParameter("userPass"); 

     if(p.equals("servlet")) { 
      RequestDispatcher rd=request.getRequestDispatcher("WelcomeServlet"); 
      rd.forward(request, response); 
     } else { 
      out.print("Sorry UserName or Password Error!"); 
      RequestDispatcher rd=request.getRequestDispatcher("/index.html"); 
      rd.include(request, response); 
     } 
    } 
} 

WelcomeServlet.java

package java.io; 
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class WelcomeServlet extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     String n=request.getParameter("userName"); 
     out.print("Welcome "+n); 
    } 
} 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 

<web-app> 
    <servlet> 
     <servlet-name>Login</servlet-name> 
     <servlet-class>Login</servlet-class> 
    </servlet> 
    <servlet> 
     <servlet-name>WelcomeServlet</servlet-name> 
     <servlet-class>WelcomeServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Login</servlet-name> 
     <url-pattern>/Login</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>WelcomeServlet</servlet-name> 
     <url-pattern>/WelcomeServlet</url-pattern> 
    </servlet-mapping> 

    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 
+1

почему вы установили имя пакета для 'java.io' в WelcomeServlet? удалить его или установить полное имя класса в web.xml в атрибуте 'servlet-class'. – user1516873

+0

Похоже, что вам не хватает либо отображения сервлета, либо контекста, попадающего в http: // localhost: 8080/ServletExample/Login или http: // localhost: 8080/ServletExample/WelcomeServlet, чтобы узнать, можете ли вы получить ответ – morgano

+0

спасибо , в web.xml есть ошибка. Я исправил. Спасибо за подсказку. – SPGuar

ответ

0

Вы отображение на 'WelcomeServlet' не 'ServletExample'.

Попытайтесь пойти на локальный: 8080/WelcomeServlet

EDIT: Там не должно быть косую черту, извините!

+1

Я считаю, что вы не намерены вставлять эту черту в этот URL-адрес – Gimby

1

package java.io;

Зачем убрать эту строку в WelcomeServlet.java.

-2

Убедитесь, что ur projrct name - ServletExample.

локальный: 8080/ServletExample/index.html

Смежные вопросы