Java jsp不会进入servlet

Java jsp不会进入servlet,java,html,jsp,servlets,Java,Html,Jsp,Servlets,我有一个.jsp页面,其形式如下: <form name="myForm" method="post" action="LoginServlet"> <div class="form-group"> <label for="exampleXPID">userid</label> <div class="input-group"> <span c

我有一个
.jsp
页面,其形式如下:

    <form name="myForm" method="post" action="LoginServlet">
    <div class="form-group">
        <label for="exampleXPID">userid</label>
            <div class="input-group">
                <span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-user"></span></span>
                    <input  type="text" class="form-control" name="exampleXPID" id="exampleXPID" placeholder="XPID" required />
                </div>
                <span id="usernameError" style="color:red;"></span>
                </div>
                <div class="form-group">
                    <label for="exampleInputPassword1">Password</label>
                    <div class="input-group">
                        <span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-star"></span></span>
                            <input type="password" class="form-control" name="exampleInputPassword1" id="exampleInputPassword1" placeholder="Password" required />
                    </div>
                <span id="passwordError" style="color:red;"></span>
            </div>  
            <hr/>
        <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-lock"></span>Login</button>
        <a href="#" style="float:bottom; max-width: 100%;" data-toggle="popover" data-trigger="hover" data-content="Click here to reset your existing Password" data-placement="bottom"><span class="glyphicon glyphicon-question-sign"></span>Reset your Password</a>
    <p><br></p>
</form>
当我运行这个项目时,它会转到第一页,当我点击登录按钮时,我得到错误404,说找不到源代码。My
LoginServlet
与以下内容放在同一个项目中:

非常感谢任何帮助

HTTP状态500-错误:

    type Exception report

message Error instantiating servlet class com.javacodegeeks.example.messenger.service.myservlet

description The server encountered an internal error that prevented it from fulfilling this request.

exception 
javax.servlet.ServletException: Error instantiating servlet class com.javacodegeeks.example.messenger.service.myservlet
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)



root cause 
java.lang.ClassNotFoundException: com.javacodegeeks.example.messenger.service.myservlet
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)



note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.
这是我的
web.xml
文件:

    <?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
    see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>com.javacodegeeks.example.messenger</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
<servlet>
    <description></description>
    <display-name>LoginServlet</display-name>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.javacodegeeks.example.messenger.service.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>

Jersey Web应用程序
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
com.javacodegeeks.example.messenger
1.
Jersey Web应用程序
/webapi/*
罗金瑟夫莱特酒店
罗金瑟夫莱特酒店
com.javacodegeeks.example.messenger.service.LoginServlet
罗金瑟夫莱特酒店
/罗金瑟夫莱特酒店
可能会尝试此

包括按钮的名称

 <button type="submit" name="button1" class="btn btn-primary">Login</button>

希望这能帮助您……

您忘记在servlet中初始化打印编写器了:

  PrintWriter out = response.getWriter();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("inside servlet 2");
    String XPID = request.getParameter("exampleXPID");
    String password = request.getParameter("exampleInputPassword1");

    PrintWriter out = response.getWriter();
    out.println("<html><body><script>alert("+XPID+")</script></body></html>");
}
更新

  // Set the MIME type for the response message
  response.setContentType("text/html");

  // Write to network
  PrintWriter out = response.getWriter();

您的Servlet似乎没有在
web.xml
或通过
注释
正确映射

首先检查
web.xml
以了解正确的映射: 假设您的
LoginServlet
在包aa.bb.cc下。如果是:

  <servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>
         aa.bb.cc.LoginServlet
  </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
应该是:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
<servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.javacodegeeks.example.messenger.service.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>
import javax.servlet.http.HttpServletResponse;

希望它能起作用。

您确定您已经在web.xml中声明了servlet和servlet映射吗?您是否尝试重定向而不是使用打印编写器?您能提供语法吗@Kerppag@TheLuminor如果您想使用简单的JSPServlet,则只需导入javax.servlet.jar文件;如果您想使用Jersey Web应用程序,则使用Jersey-bundle-1.8.jar。希望这能解决你的问题。我以前试过做aht。但是当我这样做的时候,我得到一个错误,说
响应不能被解析。有什么想法吗?把这段代码放在print writer,
response.setContentType(“text/html”)用于指定响应消息的mime类型。我还更新了上面的答案。我也尝试了这个。但它仍然显示
错误500
。我的问题是这方面的记录/但是错误表明它无法访问
LoginServlet
本身!我不知道你的解决方案会有什么帮助。你能详细说明一下吗@我试过你说的了。我得到了错误500。编辑问题以供参考。请调查一下!谢谢那么这个类是什么:“com.javacodegeks.example.messenger.service.myservlet”您在应用程序中的某个地方使用它,而不是映射到web.xml中。这就是为什么会出现这种错误。也发布你的web.xml。对不起,我的不好。我正在使用
LoginServlet
,但它仍然无法找到
LoginServlet
。如果您未使用此“myservlet”类..请将其从项目中删除。。。如果它不能解决您的问题,请发布您的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
<servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.javacodegeeks.example.messenger.service.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>
import javax.ws.rs.core.Response;
import javax.servlet.http.HttpServletResponse;