(超)详细解释在idea中配置struts2框架

上个星期我们在学JavaEE,全班就我一个人在用idea,所以配置的时候出现了很多的问题,查了好多博客和各种网上的解释,很多都不适用我的问题/(ㄒoㄒ)/~~。终于在我综合了各种问题,被我成功的解决了。为了帮助更多的人,我会用最详细的步骤来解释如何成功配置struts2的框架。

目录

我遇到的问题

配置步骤

配置tomcat

配置struts2

测试


我遇到的问题

先说说我遇到的问题,主要就一个: 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。

咱们就看第二个的报错信息,因为第一个只是你导入的包太多了,它启动的比较慢。剩下的都是因为筛选器启动失败而引发的连锁反应。

检查你的web.xml是否输入了以下代码;

 

 *很多教程中<filter-class>都是导入的这个路径:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

在目前最新的版本中,ng已经被舍去了。

如果输入的没有问题那么就是你导入的Struts2的包出现了问题。

配置步骤

注意!!!!

前置条件:Tomcat的版本是9

                  Struts2的版本是2.5.26

                   JDK选择1.8(可以直接在idea中下载)

配置tomcat

1.首先新建一个项目

 (网上很多教程都是让从插件库里下载Struts,然后新建项目选择JavaEE,我尝试过,比较麻烦还没成功)

2.点击添加配置

3.点击添加新配置

4.选择Tomcat服务器的本地

5.出现一个警告, 点击修复

6.根据以下步骤,先点击模块

 然后新建web模块

7.根据提示创建工件

8.创建完后会自动跳到以下页面,直接点击确定

配置struts2

9.至此服务器以配置完毕 ,然后点开test项目,在web-inf目录下新建一个lib目录

10.将下好的struts2的包粘贴到lib目录下

11.粘贴完成后将lib目录添加为库

12.编辑web.xml,添加以下代码 (如果有如何提示请忽略)

13.在src目录下添加struts配置(防止出错就用struts作为它的名字) 

 14.创建完成后输入以下代码 ,至此struts2的配置已完成

*注意里面的参数,action name由你自己命名,class是存放java类的路径,两条result中的jsp页面分别以你自己编写的名字来命名(本教程以我的为例)

测试

 15.这时候就可以编写jsp和Java类了。在web目录下新建jsp文件(注意,不是web-inf)

我创建了error、login、welcome三个jsp文件,其中login是主页,负责输入登录信息的;error是登录失败后的报错页面,welcome是登录成功后的页面。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录成功</title>
</head>

<body>
<h3>已经成功登录!</h3>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>登录</title>
</head>

<body>
<form action="login" method="post">
  用户登录<br>
  <label>
    姓名:
    <input type="text" name="username" id="username"/>
  </label><br />
  <label>
    密码:
    <input type="password" name="password" id="password"/>
  </label><br />
  <input type="submit" value="登录" />
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录失败</title>
</head>

<body>
<h3>登陆失败!</h3>
</body>
</html>

login.jsp中,action的目标要和struts.xml中你命名的action name相符合

 16.在src下先新建一个软件包,我以action为包名(包名必须和struts.xml中class的路径一致) 

在action包下新建LoginAction类(注意,test这个包我截屏错了,因为名字和项目名一样,所以没法改变,你们直接忽视就行

 

详细代码如下(aaa是我自己定义的账户和密码)

package action;

import com.opensymphony.xwork2.Action;

public class LoginAction implements Action {
    private String username;
    private String password;
    public String execute() throws Exception{
        if (getUsername().equals("aaa")&&getPassword().equals("aaa")){
            return "success";
        }else {
            return "error";
        }
    }
    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;
    }

}


最后,我们来测试一下吧,直接点击启动服务器 

如果出现这个界面不要慌,直接在网址后面写上login.jsp 

输入账户和密码,再点击登录

出现以下界面,恭喜成功了

 

 

 

 

 

 

 

 

 

 

 

  • 14
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值