【快速搭建系列】idea快速搭建struts2框架和测试
创始人
2024-01-28 01:13:04

idea快速搭建struts2框架和测试示例

步骤

搭建环境

新建一个maven项目

添加maven依赖

pom.xml




org.apache.struts
struts2-core
2.3.33

    

org.projectlombok
lombok
1.16.8



javax.servlet.jsp.jstl
jstl
1.2



javax.servlet
jsp-api
2.0
provided



javax.servlet
servlet-api
2.5
provided

然后建好java和resources根目录包

请添加图片描述

然后这个时候可以看到当右键resources根目录时多了一个Struts Config的选项

这时就可以新建一个名为struts的struts配置文件了(因为导了包)

请添加图片描述

如果之前没有在idea中用过struts2的话需要先下载插件:

idea左上角file—settings

请添加图片描述

然后左边Plugins,输入struts2,下载一下插件

请添加图片描述

在web.xml设置struts2的过滤器

web.xml

Archetype Created Web Applicationstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*index.jsp

然后创建如图项目结构

请添加图片描述

tips:因为只有struts2框架所以没办法连后端数据库,所以dao和service就这样空着了

然后先来写一个测试是否能够访问的小例子

测试

测试运行

action相当于controller

在action包下创建一个测试action

TestAction.java
package com.r.action;/*** @Author Tuerlechat,* @Date 2022/11/8*/
public class TestAction {public String execute() {System.out.println("TestAction类被调用了。");return "test";  //返回的结果}
}

然后在webapp中新建一个test.jsp

test.jsp
<%--Created by IntelliJ IDEA.User: Tuerlechat,Date: 2022/11/8Time: 19:27To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

Test


我是test页面

然后配置struts2的配置文件

struts.xml

/test.jsp

这时候可能会爆红,但不需要管

然后部署tomcat,运行

运行结果

请添加图片描述

控制台显示

请添加图片描述

可以看到控制台显示的时候说明成功访问了test路径,也就是成功进入到了TestAction这个类中的方法

说明搭建struts2框架环境成功

登录小例子

HelloStrutsAction.java
package com.r.action;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.r.model.User;
import lombok.Getter;
import lombok.Setter;import java.util.Map;/*** @Author Tuerlechat,* @Date 2022/11/8*/
@Getter
@Setter
public class HelloStrutsAction extends ActionSupport {private User user;@Overridepublic String execute() throws Exception {System.out.println("用户名:" + user.getUserName());System.out.println("密码:" + user.getPassword());if ("admin".equals(user.getUserName()) && "1234567".equals(user.getPassword())) {// 将user对象保存在session中Map session = null;session = ActionContext.getContext().getSession();session.put("user_session", user);return "success";} else {return "fail";}}}

实体类

User.java
package com.r.model;import lombok.Data;@Data
public class User {private String userName;private String password;}

前端页面

login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

登录

用户名:
密 码:
success.jsp
<%@ page contentType="text/html;charset=UTF-8"  isELIgnored="false" language="java" %>

登录成功

欢迎您,${sessionScope.get("user_session").userName}


fail.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

登录失败

用户名或密码不匹配。


struts2配置文件

struts.xml





/success.jsp/fail.jsp/test.jsp

运行结果

登录页面

请添加图片描述

登录成功

请添加图片描述

登录失败

请添加图片描述

问题

开启服务器即开启无限404报错循环模式

无论是action,jsp,html什么都不行

全部404,而且后端不报错

解决方法

说明是项目结构有问题

具体原因不清楚

点击idea左面file下的Project Structure

请添加图片描述

然后点击Facets,添加Struts2

请添加图片描述

然后ok

请添加图片描述

然后按图步骤添加

请添加图片描述

请添加图片描述

请添加图片描述

这两个项目结构配置,添加删除,然后tomcat也重新配置一下,无限循环到好了为止(一般是重新改一次就好了)

相关内容

热门资讯

万的繁体字怎么写 繁体字怎么写... 一、繁体字大全简化偏旁讠[訁] 饣[飠] [昜] 纟[糹] [臤] 只[戠] 钅[釒] 呙[咼]A爱...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
桂林市属于哪个省 桂林为什么划... 桂林 [guì lín]广西壮族自治区下辖市桂林,简称桂,是世界著名风景游览城市、全国重要高新技术产...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...