使用Struts2和Tomcat进行开发

>_起因

        这是学习Java EE课程所进行的一次实验的步骤记录。

        由于指导老师使用的是Eclipse而我使用的是IntelliJ IDEA,在询问老师没有得到详细的答复之后一周,懒笔的我终于还是决定自己查自己折腾了。

>_实验环境

        >_Windows 10 x64

        >_IntelliJ IDEA 2020.2.4

        >_Struts 2.5.30 & Tomcat 9.0.72

>_环境准备

        本来我使用的是2020.1.2的版本,因为之前太新的版本已经将Java EE升级成了Jakarta EE,我又不想重新了解(主要是新特性我也用不到),所以更换成了旧版,但是2020.1.2太旧了,它的插件商店里甚至没有Struts2.。。

        所以我在查了一些大佬的博客之后换成了2020.2.4的版本。

        废话结束,接下来是正文。

        >_Step.1 struts 2的安装:依次点击“Files” —"Settings"——"Plugins",搜索“Struts2”并点击“Install”安装。

        >_Step.2 新建项目:依次点击“Files”—"New"—"Projects..",然后选择Java EE(Legacy),勾选"Web Application(4.0)"和“Struts2”。

                       然后在下方“Libraries”选项卡中选择“Use Library”,点击右侧“Create”按钮。选中所需的JAR包。这里使用的是Struts官网提供的2.5.30的最小包体。链接附上:
点这里获取JAR包https://resby.lanzoul.com/iVhMs0wi7jre

                        点击“Next”,之后更改项目名称和存放地址后,点击“Finish”。

>_项目编辑

        >_ Steps.3 进行配置:首先展示一下项目目录构成:

                        >_Steps.3.1 对Web/WEB-INF/web.xml进行查看和修改

                                这里的配置一般没有问题,重点在于根据Struts2的版本不同,<filter-class>标签内的内容可能会有所区别,对于Struts2.5以上的版本,代码应当是这样的:

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

                        >_Steps.3.2 主要页面的编写

                                这部分主要是实验的简单代码编写。主要是一个登陆页面和现实登陆成功或失败的页面,共3个页面需要编写。

<%--
    Login.jsp
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Login</title>
</head>
<body>
<form action="Login.action" method="post">
    Please Enter Your Account: <input type="text" name="account"><br>
    Please Enter Your Password: <input type="password" name="password">
    <input type="submit" value="Login">
</form>
</body>
</html>
<%--
    LoginFail.jsp
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h2>Login FAIL</h2>
    <h3>Please Check Your Input And Retry</h3>
</body>
</html>
<%--
    LoginSuccess.jsp
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h2>Login SUCCESS!</h2>
</body>
</html>

                        >_Steps.3.3 创建LoginAction

                                在src下创建新的Package,命名为Prj,在新的包中新建Java类,重命名为loginAction.java。

package Prj;

public class LoginAction {
    private String account;
    private String password;

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String execute() throws Exception {
        if(account.equals("losAngel") && password.equals("THEFEAST")){
            return "success";
        }
        return "error";
    }
}

                        >_Steps.3.4 修改Struts.xml

<package name="struts2" extends="struts-default">
    <action name="Login" class="Prj.LoginAction">
        <result name="success">/LoginSuccess.jsp</result>
        <result name="error">/LoginFail.jsp</result>
    </action>
</package>

                                注意这里的resultname里面的值与LoginAction.java中execute()方法内部的返回值要保持一致

        >_ Steps.4 测试项目

                启动Tomcat服务器,运行Login.jsp

                 输入预设的账户和密码,点击Login。

                 错误的账号和密码会跳转至错误提示页面。

实验到这里就结束了,在实验过程中,主要的问题是有关于web.xml的编辑,因为国内无法使用IDEA提供的在线导入lib功能,因此出了一些配置问题,在查了快一个小时的资料之后解决了。

希望能给和我一样的初学者一些帮助吧。

其实实验可以用Eclipse做的,但我不习惯Eclipse,所以只好舍近求远了。

另外有关于Tomcat的配置,CSDN上的大佬们的教程有很多,我就不再赘述了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值