gpt4 book ai didi

java - 如何使用 maven 的 tomcat 插件正确启动介绍性 Web 应用程序?

转载 作者:行者123 更新时间:2023-11-28 22:59:11 28 4
gpt4 key购买 nike

我正在尝试使用 Maven 编写一个简单的 JSP Web 应用程序来进行构建管理。我的目录结构目前看起来像这样(但我已经尝试了许多其他配置,但都没有奏效):

main
`-- resources
|-- webapp
| |-- WEB-INF
| | `--web.xml
| |-- doLogin.jsp
| `-- index.jsp
`-- java
`-- com
`-- wug
`-- authen2cator
`-- LoginReq.java

index.jsp 包含一个简单的表单,其中包含指向 doLogin 的数据点 usernamepasswordtwofactor。 jsp(这个页面似乎工作正常)。

doLogin.jsp 引用一个 bean,并推送给它:

<jsp:useBean id="user" class="com.wug.authen2cator.LoginReq" scope="session" />
<jsp:setProperty name="user" property="*"/>

LoginReq.java 包含以下骨架类:

package com.wug.authen2cator;

class LoginReq
{
String username;
String password;
String twofactor;

public LoginReq() {}

public void setUsername(String n) { username = n; }
public void setPassword(String n) { password = n; }
public void setTwofactor(String n) { twofactor = n; }

public String getUsername() { return username; }
public String getPassword() { return password; }
public String getTwofactor() { return twofactor; }
}

我正在尝试在构建后使用 mvn tomcat:run 启动它。 index.jsp 按预期工作,但 doLogin.jsp 抛出 500 错误,并提供以以下内容开头的堆栈跟踪:

org.apache.jasper.JasperException: /doLogin.jsp(1,1) The value for the useBean class attribute com.wug.authen2cator.LoginReq is invalid.
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1229)
at org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)

我怀疑是tomcat环境的问题,但这是我第一次尝试使用maven并且我发现它的文档有些缺乏(特别是不同类型项目的目录结构是任意的许多项目类型的文档记录很差)

我已经尝试将 LoginReq 从它的包中取出,并且我已经尝试将它移动到不同的位置。如果我把它放在 .../main/java 中似乎可以编译(当我生成项目时它不存在,我必须创建它)但如果我把它放在 .../main/webapp/WEB-INF,我读过的大部分文档都建议将其放置在该位置。

我怀疑 tomcat 无法找到 LoginReq.class,而且我发现的 maven 命令组合似乎都没有真正使用构建过程中正确的 WAR 文件启动 tomcat正在生成。我已经没有明智的想法了,文档也没有帮助。有人可以指出我正确的方向吗?

最佳答案

LoginReq 类必须公开。

关于java - 如何使用 maven 的 tomcat 插件正确启动介绍性 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22086093/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com