2017-03-15 5 views
1

私はRegisterServlet.javaデータベース に私は、ユーザーの詳細情報を取得し、それを保存しようとしていた中でのJSPファイルregister.jspを作成HTTPステータス500 - エラーインスタンス化するサーブレットクラスcom.controller.RegisterServlet

package com.controller; 

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

import com.model.User; 
import com.service.RegisterService; 


public class RegisterServlet extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 
    String firstName = request.getParameter("firstName"); 
    String middleName = request.getParameter("middleName"); 
    String lastName = request.getParameter("lastName"); 
    String email = request.getParameter("email"); 
    String userId = request.getParameter("userId"); 
    String password = request.getParameter("password"); 
    User user = new User(firstName,middleName,lastName, email,userId, password); 

    try { 
     RegisterService registerService = new RegisterService(); 
     boolean result = registerService.register(user);  
     out.println("<html>"); 
     out.println("<head>");  
     out.println("<title>Registration Successful</title>");  
     out.println("</head>"); 
     out.println("<body>"); 
     out.println("<center>"); 
     if(result){ 
      out.println("<h1>Thanks for Registering with us :</h1>"); 
      out.println("To login with new UserId and Password<a href=login.jsp>Click here</a>"); 
     }else{ 
      out.println("<h1>Registration Failed</h1>"); 
      out.println("To try again<a href=register.jsp>Click here</a>"); 
     } 
     out.println("</center>"); 
     out.println("</body>"); 
     out.println("</html>"); 
    } finally {   
     out.close(); 
    } 

web.xmlの

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <display-name>MVCApplication</display-name> 
    <servlet> 
     <display-name>LoginServlet</display-name> 
     <servlet-name>LoginServlet</servlet-name> 
     <servlet-class>com.controller.LoginServlet</servlet-class> 
    </servlet> 
    <servlet> 
     <display-name>RegisterServlet</display-name> 
     <servlet-name>RegisterServlet</servlet-name> 
     <servlet-class>com.controller.RegisterServlet</servlet-class> 
    </servlet> 
    <servlet> 
     <servlet-name>InsertDataItem</servlet-name> 
     <servlet-class>com.controller.InsertDataItem</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>LoginServlet</servlet-name> 
     <url-pattern>/LoginServlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>RegisterServlet</servlet-name> 
     <url-pattern>/RegisterServlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>InsertDataItem</servlet-name> 
     <url-pattern>/InsertDataItem</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>login.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

エラー

**exception** 
javax.servlet.ServletException: Error instantiating servlet class com.controller.RegisterServlet 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) 
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434) 
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 


**root cause** 
java.lang.ClassNotFoundException: com.controller.RegisterServlet 
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285) 
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) 
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434) 
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 

私は、データベース内にポップアップ表示 このエラーを登録するには、私の詳細を提出するたびに!誰も助けてくれますか?

+0

の場合、根本原因は 'ClassNotFoundException'です。クラスがサーバーに展開されていることを確認しましたか(つまり、 '.war'ファイルに含まれていますか?) – ohlec

+0

このクラスをサーバーに追加すると、eclipse project propreties deplyements assemblyを使用してこのクラスを追加します –

答えて

0

RegisterServletクラスが実際にサーブレットコンテナで使用できることを確認する必要があります。

一般的に、WEB-INFディレクトリの中に、あなたは以下のディレクトリがあります:

  • libのクラス

あなたはクラスが内部で利用可能であることを確認する必要がありますclassesディレクトリにあるか、またはクラスがlibディレクトリのJARの内部にある場合、スタックトレースが示すように

関連する問題