IntelliJ IDEA中使用综合使用Maven和Struts2

在Intellij IDEA中手动使用Maven创建Web项目并引入Struts2

创建一个新的Maven项目

e1UJ7l2.jpg
qNQ69wf.jpg
DUPnJgs.jpg
f2J3N0x.jpg
建好项目之后点击左下角的enable auto import
hmdeiAh.jpg
tjy9pbe.jpg

项目部署

DW5sn9O.jpg
在Moudules中添加组件
9RIBgM8.jpg
配置webapp的路径
LUO6sch.jpg
配置web.xml的路径
acwh73e.jpg
Facts: 表示当前项目的适配服务组件。可看到此项目已是一个Web项目了。
FkQTsGW.jpg
Aftifacts: 这个Aftifacts描述了当前项目发布的信息。现在进行添加,从Modeles中选择。
gIAnN16.jpg
7h482c7.jpg
预览web exploded
f6ECfAu.jpg
说明:A: 现在Artifacts已有了发布的项目了(idea中准确的说应是Modele) B:output root目录描述了当前项目的编译目录及适配服务。
如有需要添加lib目录
2g56bA2.jpg
项目结构一览
jQqUk0E.jpg

部署服务器

I7liS8L.jpg
iGlYg6l.jpg
添加artifact
nq9vcb2.jpg
9hxpe6W.jpg
FBFo2r4.jpg
添加tomcat依赖包
X1DycXJ.jpg
ZCzBJ28.jpg
AsdZUmF.jpg

添加Struts2.2.1依赖

<?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
au81XRP.jpg
在controller包中添加如下的类login.java

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.jsp

<%@ 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.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    wrong! :(
</body>
</html>

添加strutt配置文件

将其直接放在resources目录下面
vm8h1Ei.jpg

struts.xml的内容为:

<?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.xml

<?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这个包有问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值