我正在尝试执行Spring安全教程 at this link。
在标题为“运行没有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项目中获取它。 p>
答案 0 :(得分: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.bat
Windows批处理文件。此脚本设置类路径并启动包含webapps
中所有应用程序的Java应用程序。您可以在C:\apache-tomcat-7.0.22\logs\catalina.out
中看到启动日志(就像在Eclipse控制台中一样)。
然后,您可以转到localhost:8080/security
以点击该应用程序。将8080
替换为您配置的任何端口。 security
与war
文件的名称相同。当Tomcat启动时(基于配置参数),它会将war
提取到webapps
下具有相同名称的包目录中。
您可以使用配置设置。其中一些重要的是here。
您可以通过运行C:\apache-tomcat-7.0.22\bin\shutdown.bat
批处理文件脚本来关闭Tomcat。如果您在应用程序中更改某些内容(例如web.xml或属性文件),则必须执行此操作并重新启动。
我认为您链接的教程对于尝试安全设置比实际更改源代码更重要。我确信还有其他的Spring安全样本,我只是不知道它们。