Struts2框架的搭建及简单应用

前提:tomcat服务器配置好
操作系统:win10
工具:eclipse jee,struts-2.3.24-all.zip

官网下载链接:https://struts.apache.org/download.cgi#struts2522

解压struts-2.3.24-all.zip

在这里插入图片描述在这里插入图片描述
将app目录下的struts2-blank.war该后缀名为.zip,进行解压,导入其lib目录的jar包在这里插入图片描述

需要导入eclipse的jar包
在这里插入图片描述

选择全部,鼠标右击Build Path,导包成功

修改web.xml,添加核心过滤器
在这里插入图片描述

  <filter>
  	<filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
      <param-name>struts.il8n.encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

如果没有web.xml,点击链接

在src目录下新建struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<!-- 包含4个配置文件 -->
	<!-- 不指定路径,默认在src下时的方式 -->
	<include file="struts-shop.xml" />
	<include file="struts-user.xml" />
	<include file="struts-shoppingcart.xml" />
	<!-- 配置文件在具体包中时的方式 -->
	<include file="com/test/demo/struts-product.xml" />

	<!-- constant元素用于常量的配置,可用于编辑struts.properties的常量 -->
	<!-- 设置默认编码集为UTF-8 -->
	<constant name="struts.i18n.enconding" value="UTF-8" />

	<!-- 浏览器是否进行缓存处理 -->
	<constant name="struts.serve.static.browserCache" value="false" />

	<!-- 配置文件是否自动加载无需启动服务器 -->
	<constant name="struts.configuration.xml.reload" value="true" />

	<!-- 请求url后缀必须是action或do -->
	<constant name="struts.action.extension" value="action,do" />

	<!-- 关闭动态方法调用功能 -->
	<constant name="struts.enable.DynamicMethodInvocation" value="false" />

	<!-- 设置开发模式,产品发布时改回false-->
	<constant name="struts.devMode" value="true" />

	<!-- package元素用于包的配置 -->
	<!-- checkLogin -->
	<package name="user" extends="struts-default" namespace="/">
		<action name="checkLogin" class="com.test.demo.LoginAction" method="check">
			<result name="success">/success.jsp</result>
			<result name="error">/error.jsp</result>
		</action>
	</package>

	<!-- include用于包含配置 -->
	<include file="example.xml" />

	<!-- Add packages here -->

</struts>

在这里插入图片描述

src目录下新建类LoginAction,并实现check方法
在这里插入图片描述

package com.test.demo;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	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 check() {
		ActionContext context=ActionContext.getContext();
		if(username.equals("root")&&password.equals("123")) {
			//将用户名和密码信息放入context对象中
			context.put("username", username);
			context.put("password", password);
			context.put("success", "用户登录成功");
			return SUCCESS;
		}
		else {
			context.put("error", "用户登录失败");
			return ERROR;
		}
	}
}

success.jsp
在这里插入图片描述

error.jsp
在这里插入图片描述
login.jsp调用
在这里插入图片描述在这里插入图片描述

正确验证后:
在这里插入图片描述

错误验证后:
在这里插入图片描述
注意:
自始至终,浏览器处理结果路径都是http://localhost:8080/Struts2//checkLogin.action

扩展:
【struts.xml文件代码提示】
如果快捷键设置没问题且无冲突,那就是因为配置文件没有对应的DTD(Document Type Definition)约束文档
解决方法:【Window】——【Preferences】——【MyEclipse Enterprise Workbench】——【Files and Editors】——【XML】——【XML Catalog】点击【Add】:通过【Location】指定DTD文档,【Key Type】选URI,【Key】写http://struts.apache.org/dtds/struts-2.3.dtd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值