建好项目以后点击左下角的enable auto import
html
在Moudules中添加组件
配置webapp的路径
配置web.xml的路径
Facts: 表示当前项目的适配服务组件。可看到此项目已经是一个Web项目了。
Aftifacts: 这个Aftifacts描述了当前项目发布的信息。如今进行添加,从Modeles中选择。
预览web exploded
说明:A: 如今Artifacts已有了发布的项目了(idea中准确的说应是Modele) B:output root目录描述了当前项目的编译目录及适配服务。
若有须要添加lib目录
项目结构一览
java
添加artifact
添加tomcat依赖包
web
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.action</groupId> <artifactId>action</artifactId> <version>1.0-SNAPSHOT</version> <!-- 属性配置 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- struts2依赖包 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.2.1</version> </dependency> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>action</finalName> </build> </project>
在src/main/java下添加一个包,包名为controller
在controller包中添加以下的类login.javaapache
package controller; public class login { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute() { if (username.equals("tuhooo") && password.equals("123")) { return "toTrue"; } else { return "toFalse"; } } }
在webapp下添加以下的几个jsp页面:
login.jsptomcat
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form name="login" method="post" action="login.action"> <p> 用户: <input type="text" name="username" id="textfield" /> <br/> <br/> 密码: <input type="text" name="password" id="textfield2" /> <br/> <br/> <input type="submit" name="button" value="提交" /> </p> </form> </body> </html>
true.jsp服务器
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> welcome! :) </body> </html>
false.jspintellij-idea
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> wrong! :( </body> </html>
将其直接放在resources目录下面
app
struts.xml的内容为:webapp
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" extends="struts-default" namespace="/"> <action name="login" class="controller.Login"> <result name="toTrue">/true.jsp</result> <result name="toFalse">/false.jsp</result> </action> </package> </struts>
配置web.xmljsp
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
后来在Moudule中发现Maven的中添加的依赖包都没有加进去
以前这个还能够运行,而后就报这个错了
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration
后来分析是jass这个包有问题