【问题标题】:passing user from jsp to servlet将用户从 jsp 传递到 servlet
【发布时间】:2015-01-23 10:55:10
【问题描述】:

Servlet 类:HelloWorld.java

package org.baba.prakash;

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

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

protected void doGet(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException 
  {
      response.setContentType("text/html"); 
      PrintWriter out=response.getWriter(); 
      String username=request.getParameter("username"); 
      String password=request.getParameter("password"); 
      out.println(username); 
      out.println("<br>"); 
      out.println(password); 
  }  
}

JSP : order.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<form method="GET" action="HelloWorld"> 
User Name:<input type="text" name="username"><br> 
Pass Word:<input type="text" name="password"><br> 
<input align="middle" type="submit" value="Submit Form"> 
</form> 
</body> 
</html>

web.xml

<servlet> 
<description></description> 
<display-name>HelloWorld</display-name> 
<servlet-name>HelloWorld</servlet-name> 
<servlet-class>org.baba.prakash.HelloWorld</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>HelloWorld</servlet-name> 
<url-pattern>/HelloWorld</url-pattern> 
</servlet-mapping> 

项目结构

Capacitr_mgnt-------->java 资源--------->src----->package>Helloworld.java Capacitr_mgnt----->webcontent--->order.jsp 文件

错误 输入异常报告

消息错误实例化 servlet 类 org.baba.prakash.HelloWorld

描述服务器遇到了一个内部错误,导致它无法完成这个请求。

异常

输入异常报告

消息错误实例化 servlet 类 org.baba.prakash.HelloWorld.HelloWorld

描述服务器遇到了一个内部错误,导致它无法完成这个请求。

异常跟踪:

javax.servlet.ServletException: Error instantiating servlet class org.baba.prakash.HelloWorld.HelloWorld
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

根本原因:

java.lang.ClassNotFoundException: org.baba.prakash.HelloWorld.HelloWorld
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

注意 Apache Tomcat/7.0.34 日志中提供了根本原因的完整堆栈跟踪。

【问题讨论】:

    标签: jsp tomcat servlets


    【解决方案1】:

    正如编译器清楚地告诉的那样,

    java.lang.ClassNotFoundException: org.baba.prakash.HelloWorld.HelloWorld

    org.baba.prakash.HelloWorld 路径中找不到类HelloWorld

    在您的项目结构中,您没有任何名为 org.baba.prakash.HelloWorld 的包。因此,在src 下创建一个名为web.xml 的包。

    【讨论】:

    • 包是 org.baba.prakash 我在这个包下创建了 HelloWorld servlet 所以在 org.baba.prakash.HelloWorld Jsp order.jsp 是 servlet 的数据那么为什么会出现这个错误或者我创建了一个类而不是 servlet
    【解决方案2】:

    检查 HelloWorld.class 是否存在于部署的战争 WEB-INF/classes 文件夹中,或者如果您有一个包含 HelloWorld.java 文件的 java 项目,那么它是否被转换为 jar 并存在于 WEB- INF/lib 文件夹。

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 2012-05-03
      • 2011-05-20
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多