将类和bean文件放在tomcat V8.0.24中的位置

时间:2015-07-29 07:00:18

标签: java jsp tomcat

我正在调用bean中的实例来继续我在jsp中的会话。 bean位于userData.class的用户文件夹中(因为我将其定义为我的包),我想用

调用

JSP的标记:

<jsp:useBean id="user" class="user.UserData" scope="session"/>

但是当我浏览包含上述代码的文件时,我得到了以下内容

错误:

HTTP Status 500 - /SaveName.jsp (line: 1, column: 1) The value for the useBean class attribute user.UserData is invalid.

错误详情:

type Exception report

message /SaveName.jsp (line: 1, column: 1) The value for the useBean class attribute user.UserData is invalid.

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

exception

org.apache.jasper.JasperException: /SaveName.jsp (line: 1, column: 1) The value for the useBean class attribute user.UserData is invalid.
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:107)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1317)
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3594)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

这是UserData Bean内容:

package user;

public class UserData {
    String username;
    String email;
    int age;

    public void setUsername(String value) {
            username=value;
    }

    public void setEmail(String value) {
            email = value;
    }

    public void setAge(int value) {
            age = value;
    }

    public String getUsername() { return username; }
    public String getEmail() { return email; }
    public int getAge() { return age; }
}

这是调用UserData.class bean的jsp文件:

<jsp:useBean id="user" class="user.UserData" scope="session"/>
<jsp:setProperty name="user" property="*"/>

<html>
<body>
<a href="NextPage.jsp">Continue</a>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

你可以验证战争文件在tomcat的webapps文件夹中爆炸后,你可以导航到WEB-INF&gt;&gt; classes文件夹并验证你的UserData类是否存在?如果它不存在则需要构建war文件以将此类包含在WEB-INF的classes文件夹中。

答案 1 :(得分:0)

错误代码为500。这意味着这是服务器问题。

servlet容器找不到那个类。请检查bean类的类文件夹。这是在web-inf文件夹中。

答案 2 :(得分:0)

感谢您的贡献,我得到了答案:

正如@Rahul Yadav所说,Bean应该在WEB-INF&gt;&gt; classes文件夹。

在tomcat中,当我们启动新项目(在webapps文件夹下创建新项目目录[默认为ROOT])时,我们必须在每个项目文件夹中创建WEB-INF文件夹。

假设我将需要Beans(JAVA Classes)的jsp文件放在tomcat服务器的webapp文件夹下的ROOT文件夹中处理:

  
      
  1. 在ROOT文件夹下创建一个WEB-INF文件夹
  2.   
  3. 在WEB-INF文件夹下创建类文件夹
  4.   
  5. 使用您的包名称(如果需要)在类文件夹
  6. 下创建文件夹   
  7. 将您的java源文件放在包文件夹
  8. 下   
  9. 编译这些文件
  10.   

所以,你通往豆子的道路将是:

**

  

path_to_tomcat / webapps / ROOT [您的项目DIR] / WEB-INF / classes / beans

**

就是这样! :)