IntelliJ IDEA2021.2搭建struts2框架
在网上看了很多IDEA搭建struts2的教程,搭建后总是无法启动服务器,下面介绍2021版本如何正确搭建struts2框架。
一、首先去struts2官网下载所需包
官网传送门
下载后进行解压
all是完整包,体积较大;min是官方提供的对于初学者的基础包,大家自行选择,这里我选的是min
二、下载Struts2插件
因为更新到2021版本之后,官方已经取消图中红框的选项了,要实现如图的效果需要下载插件Struts2
注意这里的Tomcat版本,一定要和下面的web.xml版本对应,否则可能会出问题,具体可以看我的关于struts2的另一篇文章
记-在用IntelliJ IDEA搭建Struts2框架时遇到的一些问题
从设置里下载插件
三、创建struts2项目
创建项目
找到你解压后的包并全选,然后点击OK
然后给项目命名,这里示例命名为demo,然后点击Finish
创建完成后,打开Project Structure选择Facets>Struts 2,点击加减号旁边的小铅笔标签,将struts2-defalut.xml与struts.xml放在同一个文件里
创建完成后会自动在src和WEB-INF下产生struts.xml和web.xml配置文件,然后我们对其进行修改web.xml内容改为以下代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
</web-app>
然后进行测试实例
- 编写
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>struts2小例子</title>
</head>
<body>
<form method="post" action="login.action">用户名:<input name="userName" type="text"/><br/>密码:<input name="password" type="password"/><br/><input type="submit" value="登录"/>
</form>
</body>
</html>
- 编写
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>成功页面</title>
</head>
<body>
登录成功
</body>
</html>
- 编写JavaBean类
LoginBean.java
package com.demo.bean;/*** @author 张子* @date 2021/10/1 20:09*/public class LoginBean {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 boolean login(String userName, String password) {if ("qq".equals(userName) && "123".equals(password)) {return true;}return false;}
}
- 编写action类
LoginAction.java
package com.demo.action;/*** @author 张子* @date 2021/10/1 20:10*/import com.demo.bean.LoginBean;public class LoginAction {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() throws Exception {LoginBean l = new LoginBean();if (l.login(userName, password)) {return "success";}return "error";}
}
- 配置
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><!-- 所有的Action配置都应放在package下,name定义包名,extends定义继承包空间 --><package name="xx" extends="struts-default"><!-- Action配置可以有多对;name是对业务控制器命名在表单中指定的action的名字需要与该名字一致;class指定Action类的位置 --><action name="login" class="com.demo.action.LoginAction"><!-- 定义两个逻辑视图与物理资源之间的映射name值是Action中execute()方法返回的结果,即逻辑视图 --><result name="success">/success.jsp</result><result name="error">/login.jsp</result></action></package>
</struts>
- 配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><display-name>demo</display-name><!-- 设置欢迎界面,登录网站时首先展示的页面 --><welcome-file-list><welcome-file>/login.jsp</welcome-file></welcome-file-list><filter><!-- 配置struts2核心控制器的名称 --><filter-name>struts</filter-name><filter-class><!-- 这是struts-2.5及以上版本的控制器 -->org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><!-- struts2控制器的名称 --><filter-name>struts</filter-name><!-- 拦截所有的以action结尾的请求,让静态资源可以正常加载 --><url-pattern>*.action</url-pattern></filter-mapping></web-app>
如果复制完web.xml的代码后,标签前面报红的话,把注释删掉即可
运行结果
我的个人博客:https://zhangz1.top
IntelliJ IDEA2021.2搭建struts2框架相关推荐
- 搭建struts2框架
struts是一个经典的MVC模式 拦截器比过滤器拦截的力度更大 搭建struts2框架 1.引入lib包 9个(2.3版本的) common-fileupload; common-io; commo ...
- 使用Maven搭建Struts2框架的开发环境
一.创建基于Maven的Web项目 我使用的是MyEclipse8.5的版本,创建好的Web项目如下所示: 我们知道,一个标准的Maven项目是必须包括[src/main/java],[src/mai ...
- 全网最强maven教程-使用Maven搭建Struts2框架的开发环境
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态.为了达到这个目标,Mav ...
- 在eclipse中搭建struts2框架的详细过程
今天想学习struts2框架,所以搭建了一个struts框架,记录一下搭建struts2的详细过程. 一.搭建环境: Eclipse:Mars.1 Release(4.5.1) JDK: jdk1 ...
- 【Struts2】一_idea快速搭建struts2框架
文章目录 什么是SSH框架? Struts2框架 1.struts2的环境搭建 `1.1 创建web项目(maven),导入struts2核心jar包` `1.2 配置web.xml(过滤器),是st ...
- Idea 2022 搭建Struts2 框架手把手教程!新鲜出炉!!
目录 介绍 Struts2的发展史 Struts2官网 第一个Struts2程序(Idea) Struts2 介绍 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servl ...
- Maven构建Struts2框架的注意事项
[本人出错点:404,就是在web.xml配置文件中少配置了struts.xml的路径] 1.创建Maven,搭建Struts框架,实现最基本的Hello World 在pom.xml中加入strut ...
- Struts2框架--学习笔记(上):搭建struts2工程、struts2基本概念、struts2对页面数据的操作
概述: Struts2框架应用于javaee三层框架中的web层.是在Struts1和webwork基础上发张的一个全新的框架. 一.搭建一个最基本的struts2工程步骤: 1.导入基本的jar包依 ...
- Struts2框架搭建
使用Struts2版本为:struts-2.3.16.3 下载地址:http://struts.apache.org/ 一.向web项目中添加struts2依赖库 commons-fileupload ...
- 【快速搭建系列】idea快速搭建SSH2框架(struts2+spring5+hibernate5)
[快速搭建系列]idea快速搭建SSH2框架(struts2+spring5+hibernate5) 压了很久的文,都差点忘记了 网上关于SSH的框架教程五花八门的,自己踩了一周多的坑说什么也要搞一个 ...
最新文章
- stm32.cube介绍
- HBase rowkey概念
- 优先级调度算法实现_一篇讲透嵌入式操作系统任务调度
- winform在表格中输入一个完整的时间字段_【ArcGIS小技巧视频教程】(5):在ArcGIS中挂接其他数据...
- Aizu 2170 	Marked Ancestor
- OpenGL ES之GLSL实现仿抖音“缩放”“灵魂出窍”“抖动”“闪白”“毛刺”“幻觉”等动态滤镜效果
- JAVA项目答辩的自我评价_毕业答辩的英文自我评价范文
- Seata AT模式
- 去掉ExpandableListView的箭头图标
- js与c语言效率_JavaScript比c语言的性能差了多少?
- fft matlab 区别,Matlab中fft与fwelch有什么区别?如何用fft求功率谱?
- 熬夜写代码,不如换女装入 GitHub 获上千 Star?
- 站点页面Service Unavailable 503的一种解决方法
- c语言 json_dumps,关于json.dumps中的参数,例如ensure_ascii
- Let’s Encrypt 推动了 HTTPS 的普及
- Java自学 day02
- Java学习-32(Java高级特性知识总结)
- 用谷歌浏览器如何下载哔哩哔哩中的视频
- 港科夜闻丨香港科大团队最新研究:双色发射AIEgen用于无标记特异性识别dsDNA和SNPs检测...
- 小米Civi的女性突围战
热门文章
- SQL:从入门到“精通”
- 可靠性工程基础 修订版 课后答案 (刘品)
- 常用设计模式Python实现
- MFC学习——环境安装
- tcping下载安装步骤,如何ping端口,tcping详解
- 【深度学习论文笔记】Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
- 精小的无线接收模块22MM直径硬币大小QI协议
- Microsoft Project项目管理实践
- ttf能改成gfont吗_如何修改TTF字体
- 最新免费可使用在线音乐网站+多解析源码