Struts2.0简单配置教程:

本文详细介绍了如何在Eclipse环境中配置Struts2框架,并通过一个简单的计算器示例展示了Struts2的基本使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在Eclipse中配置Struts2

步骤一:首先打开java ee并建立一个动态网站项目,我建立的项目名为struct2_jisuanqi_20180514,如下图:


工程展开如下:


步骤二:配置struts2

想要运用struts2的框架需要借助一些jar包,对于新手来说,一下简单的jar包是必须的且能满足大多数的需求(下载地址自行百度):

注意:web.xml文件(默认是自动生成的,如果没有请自行在lib目录下新建,是整个工程的关键)

 

 至此,我们的基本环节已经初始化完毕,接下来是向工程中添加自己真正的东西。

步骤三:配置web.xml文件(即整个工程的拦截器,至于拦截器的具体作用查看别处)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>struct2_jisuanqi_20180514</display-name>
	<welcome-file-list>
	<!-- 	设置起始页 -->
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

步骤四:编写自己相关的程序

在WebContent目录下新建.jsp(web的起始页)文件

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML >
<html>
  <head>
  
    <title>简单的计算器</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
   <s:form action="jisuan">
  	<s:label value="简单计算器"></s:label>
  	<s:textfield name="num1" label="第一个数"></s:textfield>
  	<s:select name="check" list="{'+','-','*','/'}" label="运算符"></s:select>
  	<s:textfield name="num2" label="第二个数"></s:textfield>
  	<s:submit value="计算"></s:submit>
  </s:form>
  </body>
</html>

result.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML>
<html>
  <head>
    <title>运算结果</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body> 
    您选择的运算符是:<s:property value="check" /><br>您计算的结果是:<s:property value="num3"/><br>
  </body>
</html>
编写action处理函数:com.mr.action.DealAction
处理类函数写在java Resources目录下的src文件夹下。我们通常以包的方式对不同工能的函数进行分类包装
注意:set函数与get函数的设置,在处理类函数中应该有与前台相对应的变量名,struts框架会直接通过set,get函数来进行参数的传递。
package com.mr.action;

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

public class DealAction extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = 761775720829200479L;
	private String num1;			//第一个操作数
	private String num2;			//第二个操作数
	private String check;			//运算符
	public double num3;				//计算结果
	public String getNum1() {
		return num1;
	}
	public void setNum1(String num1) {
		this.num1 = num1;
	}
	public String getNum2() {
		return num2;
	}
	public void setNum2(String num2) {
		this.num2 = num2;
	}
	public String getCheck() {
		return check;
	}
	public void setCheck(String check) {
		this.check = check;
	}
	public double getNum3() {
		return num3;
	}
	public void setNum3(double num3) {
		this.num3 = num3;
	}
	public String execute(){
		String x=getNum1();		//获取第一个数
		String y=getNum2();		//获取第二个数
		
		double num4=Double.parseDouble(x);	//将第一个数转换为double型
		double num5=Double.parseDouble(y);	//将第二个数转换为double型
		System.out.println(num4);
		if(check.equals("+")){	//进行加法运算
			 num3=num4+num5;
		}
		if(check.equals("-")){	//进行减法运算
			 num3=num4-num5;	
		}
		if(check.equals("*")){	//进行乘法运算
			 num3=num4*num5;	
		}
		if(check.equals("/")){	//进行除法运算
			 num3=num4/num5;	
		}
		 ActionContext.getContext().getSession().put("num3", num3);	//将计算结果保存到session中
		return SUCCESS;
		
	}

}

前端与后台的交互,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>
<package name="first" extends="struts-default"><!-- 定义一个package -->
<!-- 对action返回结果的配置 -->
	<action name="jisuan" class="com.mr.action.DealAction">
		<result name="success">/result.jsp</result>
		<result name="login">/index.jsp</result>
	</action>
</package>
</struts>

结果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值