一、博文说明
为啥写这东西,因为struts2 是web开发必备知识,虽然现在可能不会使用,但是面试一般可能问到。现在struts2升级到2.5这与2.3有很大区别,详细很多小伙伴照着网上各种教程都没有办法成功。然而idean内部集成的也是struct2.5。这就很坑爹了。本人在配置struts环境的时候遇到了一系列的问题。
1.Tomcat启动不了。
2.org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter问题。
…
因为时间过去太久,也没有详细记录错误代码。反正弄了好长时间,也把基友抓过来弄,经过两个人的努力终于发现了症结所在。
总结一句话就是:
包的问题。
二、教程
废话不多说直接上教程。
1、项目准备
步骤——上官网——下载 struct2-2.5.13-min-lib。注意是min-lib。不是all。
官网网址:
http://struts.apache.org/
lib包网址:
http://mirrors.tuna.tsinghua.edu.cn/apache/struts/2.5.13/struts-2.5.13-min-lib.zip
2.新建项目
这里有两点要注意
1、要选择struct2
2、要选择Use libary(重要)
点Create-选择第一步下载min-lib包解压的lib目录下的所有文件(注意是所有)。
全选
点next
起个名字吧
项目创建成功
3 配置项目
打WEB-INF目录下的web.xml
那个红色的
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
改成
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
有ng是2.5之前的。
打开项目配置文件file-project Structure
点击右边栏中的problems—点击fix—-add xxx
大胆的点击fix,idea 会自动帮你配置到所有的文件。不需要做很多多余的操作。
这个时候可以直接运行了。
回到jsp页面 鼠标右击run
如果你出现下面这个页面
那么恭喜你基本已经成功了。
-
成功验证
为了验证是否成功我们修改src目录下的struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="hello" extends="struts-default">
<action name="sayHello">
<result>hello.jsp</result>
</action>
</package>
</struts>
修改index.jsp
<%--
Created by IntelliJ IDEA.
User: zhangyan
Date: 2017/10/9
Time: 下午11:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<a href="sayHello.action">点击</a>
</body>
</html>
新建一个hello.jsp
注意这里的名字要与struts.xml那个action相同
<%--
Created by IntelliJ IDEA.
User: zhangyan
Date: 2017/10/9
Time: 下午11:14
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>heh</title>
</head>
<body>
<h1>hello struts2!</h1>
</body>
</html>
重新运行index.jsp
如果出现下面结果就成功啦!
希望对你有帮助,如果你也成功了用你发财的小手点个顶吧,如果没有的话欢迎留言探讨。