[英]How do I properly launch my introductory web application using maven's tomcat plugin?
我试图使用maven编写一个简单的JSP Web应用程序进行构建管理。 我的目录结构当前看起来像这样(但是我已经尝试了许多其他配置,但没有一个起作用):
main
`-- resources
|-- webapp
| |-- WEB-INF
| | `--web.xml
| |-- doLogin.jsp
| `-- index.jsp
`-- java
`-- com
`-- wug
`-- authen2cator
`-- LoginReq.java
index.jsp
包含的数据点的简单形式username
, password
,并twofactor
指向dologin.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
启动它mvn tomcat:run
构建后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类声明为public。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.