-1

Please help if anyone can, I am getting an error while running the HTML file on Tomcat Apache server using eclipse the associated code I am sharing with you

WEB.XML

  <?xml version="1.0" encoding="UTF-8"?>
  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.4">
 <servlet>
 <servlet-name>Hi</servlet-name>
 <servlet-class>Hello</servlet-class>
 </servlet>
 <servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
 </web-app>

Hello.java

  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.ServletException;
  import javax.servlet.annotation.WebServlet;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;

   /**
 * Servlet implementation class Hello
  */
  @WebServlet("/Hello") -----------//Here getting an error

     public class Hello extends HttpServlet {
    private static final long serialVersionUID = 1L;


  /**
  * @see HttpServlet#HttpServlet()
*/
  public Hello() {
   super();
   // TODO Auto-generated constructor stub
   }

     /**
    * @see HttpServlet#doGet(HttpServletRequest request,HttpServletResponse response)
   */
      protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
      response.setContentType("text/html");
      PrintWriter pw=response.getWriter();
      String email=request.getParameter("email");
     String password=request.getParameter("password");
     pw.println("<br>your email is "+email);
     pw.println("<br>your password is "+password);

     }

     /**
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */

   }

<!DOCTYPE html>
           <!--<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script>-->

          <html>
           <head>
        <meta charset="utf-8">
        <title>Login Form</title>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <!--<script src="plugin/validation/dist/additional-methods.min.js">     </script>-->
         <script src="jquery.validate.min.js"></script>
           <script src="validationutils.js"></script>
 <script src="rememberme.js"></script>
 <script src="captcha.js"></script>
</head>
<body><div>
      <form id="formRegistration" method="post" action="hello">
   
                 <div>
                <label for="email">Email Id*</label>
                <input id="email" type="email" name="email" value="" placeholder="Enter your Email Id" />
                </div>
    
    
    <div>
                <label for="Password">Password*</label>
                <input id="password" type="password" name="password" value="" placeholder=" Enter Password" />
                </div>
    
    <div>
                <input type="submit" name="commit" value="Login" id="publiclogin">
          </div>
    
    <div>
                Forgot your password? <a href="google.com">Click here to reset it</a>.
                </div>
    
    
                <label class="checkbox">
                <input type="checkbox" value="remember-me" id="remember_me"> Remember me
                </label>
    
    
    
    <label class="" for="captcha">*Please enter the verication code shown below.</label>
                <div id="captcha-wrap">
                <img src="plugin/utilities/img/refresh.jpg" alt="refresh captcha" id="refresh-captcha" /> <img src="plugin/utilities/img/glyphicons-halflings.png" alt="" id="captcha" />
                </div>
                <input class="narrow text input" id="captcha" name="captcha" type="text" placeholder="Verification Code"/>
                
            </form>
             </div> 
           </body>
            </html>

Any help is highly appreciated.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
CandleCoder
  • 1,387
  • 4
  • 21
  • 45

2 Answers2

1

Your servlet-name is different within servlet-mapping.

Refer below mentioned snippet,

 <servlet>
   <servlet-name>Hi</servlet-name>
   <servlet-class>Hello</servlet-class>
 </servlet>
 <servlet-mapping>
   <servlet-name>Hi</servlet-name>
   <url-pattern>/hello</url-pattern>
 </servlet-mapping>

More details: http://javapapers.com/servlet/what-is-servlet-mapping/

Manoj Namodurai
  • 529
  • 2
  • 7
0

When defining servlets in your web.xml, you must create two things:

  1. register servlets
  2. register mppings for those servlets

In your example for Hi servlet, you have no request mapping defined. And for /hello path there is no servlet, named 'Servlet'.

    <servlet>
      <servlet-name>Hi</servlet-name> // name of your servlet in this context
      <servlet-class>com.example.web.servlets.Hello</servlet-class> // your servlet class(should include package)
    </servlet>
    <servlet-mapping>
      <servlet-name>Hi</servlet-name> // reference to your servlet name
      <url-pattern>/hello</url-pattern> // mapped path
    </servlet-mapping>

We could start with that, tell us, it this solved your problem.

Beri
  • 11,470
  • 4
  • 35
  • 57
  • Your code has error itself...as showing in eclipse – CandleCoder Feb 10 '15 at 07:46
  • Could you share this error? Code is correct according to JEE standards, as long as classes exist under given paths. – Beri Feb 10 '15 at 07:49
  • cvc-complex-type.2.4.a: Invalid content was found starting with element 'servlet-name'. One of '{"http://java.sun.com/xml/ns/j2ee":description, "http:// java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/j2ee":icon, "http://java.sun.com/xml/ns/j2ee":distributable, "http://java.sun.com/xml/ns/ j2ee":context-param, "http://java.sun.com/xml/ns/j2ee":filter, "http://java.sun.com/xml/ns/j2ee":filter-mapping, "http://java.sun.com/xml/ns/j2ee":listener, – CandleCoder Feb 10 '15 at 08:37