0

我正在尝试在此链接上做春季安全教程。

在标题为“在没有 Spring Security 的情况下运行教程应用程序”的部分中,我采取了以下步骤(针对当前版本与编写教程时使用的版本之间的差异进行了调整):

1.) I downloaded the latest release of the Spring Security Distribution,   
2.) found and unzipped a war file in the dist directory called spring-security-samples-tutorial-3.1.2.RELEASE.war  
3.) Renamed the resulting folder spring-security-tutorial  
4.) Created a general project in eclipse called spring-security-tutorial  
5.) Imported all of the contents of the unzipped spring-security-samples-tutorial-3.1.2.RELEASE.war  
6.) Right clicked on the project in eclipse and selected configure...convert to maven project  
7.) Then right clicked on the project and clicked run as...  

但是没有“在服务器上运行”选项。(我选择了一个通用项目而不是动态 Web 项目,希望保留要导入的应用程序的文件结构)

然后我开始重复这个过程,但是创建一个动态 Web 项目而不是一个通用项目,并且 Eclipse 想要我选择“构建路径上的 src 文件夹”。Web 应用程序的文件结构在 WEB-INF 的子文件夹中有 8 个 .class 文件,我无法找到任何 .java 文件。

我可以采取哪些步骤来下载它并在服务器上的 eclipse 中运行它?具有编辑课程的能力?

我已经读过我可以在 Eclipse 中选择一个 .class 文件,它会在编辑器中打开字节码,所以我想我可以很容易地将类文件转换为 java 文件。但是在一般项目中这样做会触发错误消息,即该类不是类路径的一部分,因此我认为我们需要首先在可以从 eclipse 中在 tomcat 服务器上运行的工作 Web 项目中获取它。

4

1 回答 1

1

文件war是 Web 应用程序 ARchive(基本上是 zip)。它旨在包含 Web 应用程序的编译类文件和资源(属性文件、jsps、css、html、js 等)。它是一个可以被 Tomcat 等应用服务器(或 servlet 容器)使用的包。除非通过反编译器,否则您将无法访问已编译.class文件中的源代码。

我怀疑你可以在 Eclipse 的 Tomcat 实例上运行它。而是转到您的 Tomcat 安装。我的是在C:\apache-tomcat-7.0.22。将其重命名war为简单的名称security.war并将其放在webapps文件夹中,即。C:\apache-tomcat-7.0.22\webapps\security.war. 转到C:\apache-tomcat-7.0.22\bin并执行startup.batWindows 批处理文件。此脚本设置类路径并启动包含所有应用程序的 Java 应用程序webapps。您可以看到启动日志C:\apache-tomcat-7.0.22\logs\catalina.out(就像您通常在 Eclipse 控制台中一样)。

然后你可以去localhost:8080/security点击应用程序。替换8080为您配置的任何端口。security与文件同名war。当 Tomcat 启动时(基于配置参数),它将解压到同名war的包目录下。webapps

您可以使用配置设置。一些重要的在这里

C:\apache-tomcat-7.0.22\bin\shutdown.bat您可以通过运行批处理文件脚本来关闭 Tomcat 。如果您更改应用程序中的某些内容(例如 web.xml 或属性文件),则必须执行此操作并重新启动。

我认为您链接的教程更多地用于尝试安全设置,而不是实际更改源代码。我确信网上还有其他用于 Spring 安全性的示例,我只是不知道它们。

于 2013-09-07T03:48:28.257 回答