2017-09-10 3 views
-1

나는 간단한 양식을 만들려고하지만 오류 500오류 505

index.php를

<html> 
<body> 
    <form action="login"> 
     <input type="text" name="nombre"></input> 
     <input type="submit" value="Enviar"></input> 
    </form> 
</body> 
</html> 

LoginServlet.java

package com.prueba1; 

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

/** 
* Servlet implementation class LoginServlet 
*/ 
public class LoginServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * Default constructor. 
    */ 
    public LoginServlet() { 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     response.getWriter().append("Served at: ").append(request.getContextPath()); 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     doGet(request, response); 
    } 

} 

web.xml을 얻을

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <display-name>Archetype Created Web Application</display-name> 
    <servlet> 
    <servlet-name>LoginServlet</servlet-name> 
    <display-name>LoginServlet</display-name> 
    <description></description> 
    <servlet-class>com.prueba1.LoginServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>LoginServlet</servlet-name> 
    <url-pattern>/login</url-pattern> 
    </servlet-mapping> 
</web-app> 

urlpatter is se t는 /login이고 양식 작업은 로그인이지만 제출하려고하면 505 오류가 발생하며 코드에 오류가 없는데 문제는 무엇인지 모릅니다. 많은 자습서를 따라 가며 항상 동일한 오류가 발생합니다. .

은 서블릿 클래스가
javax.servlet.ServletException: Error instanciando clase de servlet [com.prueba1.LoginServlet] 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) 
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457) 
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:748) 
causa raíz 

java.lang.ClassNotFoundException: com.prueba1.LoginServlet 
    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:478) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) 
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457) 
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:748) 

발견되지 않은 오류가 프로젝트 트리 이미지 : enter image description here

+0

서블릿을 컴파일 했습니까? 클래스가'com \ prueba1'에 존재한다면 수동으로 점검 할 수 있습니까? – Ravi

+0

java 파일이 com \ prueba1에 존재하면 java 파일이 컴파일되지 않습니다. 서버에서 엉덩이 실행 ... 실행? java 파일을 컴파일하기 위해 다른 작업을해야합니까? – AFS

답변

-1

그냥 배포하고 내 자신의 컴퓨터에서 코드를 실행하려고하고 일 잘. 프로젝트 구조가 유효한지, LoginServlet.java 파일을 프로젝트 오른쪽에 포함 시켰는지, LoginServlet.class 파일이 컴파일 후 올바른 디렉토리에 있는지 확인하십시오. 당신이 문제를 해결할 수없는 경우

Make sure your class is at WEB-INF/classes

link to screenshot

, 당신은 컴파일 후 프로젝트 구조를 표시해야합니다 : 이것은 내 프로젝트 stucture입니다. 내 스크린 샷이 도움이되지 않으면 도움을 줄 수 있습니다. Maven을 사용하여 프로젝트를 빌드한다는 사실을 잊지 마십시오. 구조가 조금 다를 수 있습니다.

당신은 메이븐 pom.xml 파일의 종속 블록에 다음 줄을 추가 사용하는 경우 바로 다음 줄을 추가하려고,

`

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>4.0.0</version> 
    <scope>provided</scope> 
</dependency> 

`

그렇지 않은 경우 클래스 선언 블록 앞에 :

@WebServlet(name="any name you want", urlPatterns="/login") 
+0

나는 maven, weapp archetype을 사용하여 응용 프로그램을 빌드했으며, .class 파일은 사용하지 않고 Run as ...을 사용하여 서버에서 실행하여 응용 프로그램을 실행합니다. 다른 .java 파일을 컴파일해야합니까? ? – AFS

+0

Eclipse를 사용하고있는 것 같습니다. Eclipse에서는 강력하지 않지만 "Project -> Build Automatically"를 선택하여 자동 빌드를 켜려고합니까? –

+0

자동으로 빌드 옵션이 선택되었습니다. – AFS

관련 문제