应用Struts2框架,开发一个加法器,采用两个页面,一个页面输入数据,另一个界面输出结果。
软件152谭智馗
一、新建maven项目
1.选择菜单file—new—maven project,勾选“Create a &simple project (skip archetype selection)”项:

2.新建maven项目,设置项目属性如下:
1.配置web.xml
Maven项目最重要的配置文件是pom.xml,pom是“项目对象模型”的意思。现在pom.xml中有一个错误,提示缺少web.xml:

展开目录src—main—webapp,在里面新建文件夹“WEB-INF”,在“WEB-INF”中创建web.xml。
web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<welcome-file-list>
<welcome-file>add.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>
web.xml
里面定义了主页名称,并将页面处理交给struts。
2.实现控制器Action(代码如下)
package com.cqvie.action;
import com.opensymphony.xwork2.ActionSupport;
public class AddAction extends ActionSupport {
private int n1;
private int n2;
private int sum;
public int getN1() {
return n1;
}
public void setN1(int n1) {
this.n1 = n1;
}
public int getN2() {
return n2;
}
public void setN2(int n2) {
this.n2 = n2;
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
/**
* 鐧诲綍
* @return
*/
public String add() {
sum=n1+n2;
//System.out.println(sum);
return "success";
}
}
AddAction.java
3.配置struts.xml(代码如下)
在编写好Action(控制器)的代码后,还需要进行配置才能让Struts2识别Action。在src下创建文件struts.xml(注意文件位置和大小写)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<constant name="struts.multipart.maxSize" value="20971520" />
<constant name="struts.devMode" value="true" /> <package name="p_user" namespace="/" extends="struts-default"> <!-- 计算 -->
<action name="add" class="com.cqvie.action.AddAction"
method="add">
<result name="success">
/add_success.jsp
</result>
</action> </package> </struts>
struts.xml
4.编写jsp(代码如下)
本例共有两个页面add.jsp以及add_success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %>
<!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>
<%-- <s:form action="add" method="post">
n1:<s:textfield name="login.n1" />
n2:<s:textfield name="login.n2" />
<s:submit value="等于"/>
</s:form> --%> <form action="add" method="post">
n1:<input type="text" name="n1" /><br>
+<br>
n2:<input type="text" name="n2" /><br> <input type="submit" value="等于" />
</form>
</body>
</html>
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %>
<!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>
<%-- <s:form action="login" namespace="/" method="post">
<s:textfield name="name" label="name"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:submit value="Login"></s:submit>
</s:form> --%> <s:property value="n1"/>+<s:property value="n2"/>=<s:property value="sum"/><br> 结果等于:<s:property value="sum"/>
</body>
</html>
add_success.jsp
5.运行项目
选择菜单“Run”—“Run Configurations”,设置如下图:

4.在浏览器中查看结果
地址栏输入“http://localhost:9527/struts-test/”查看结果
应用Struts2框架,开发一个加法器,采用两个页面,一个页面输入数据,另一个界面输出结果。的更多相关文章
- struts2框架开发的第一个应用
写这篇博文,主要是帮助那些刚接触struts2框架开发而不知所措的人,希望批评指正 一.先建立一个web project,命名为struts2 二.在webroot/WEB-INF/lib目录下添加如 ...
- struts2框架——从后台取得数据集,并在前台页面循环显示
1.CourseBean.java public class CourseBean { private String f_courseId = ""; private String ...
- 每天一点点之vue框架开发 - 数据渲染-for循环中动态设置页面背景色
实现方式很简单,在属性前加:,表示绑定 :style="{'background':item.bgColor} 代码样例: <li v-for="item in laber_ ...
- 使用Maven搭建Struts2框架的开发环境
一.创建基于Maven的Web项目
- Spring框架+Struts2框架第一次整合
1:Spring框架和Struts2框架如何整合??? Spring 负责对象创建 Struts2 用Action处理请求 2:Spring与Struts2框架整合的关键点: 让struts2框架ac ...
- Struts2框架起源
曾经也用过S2SH框架做过几个项目,都不是工作中的,学习WEB开发的时候接触的第一套框架也是S2SH,可是工作之后一直没实用到S2SH 框架进行开发. 感觉曾经用这个框架的时候根本没有深入去了解这个框 ...
- Spring 框架整合Struts2 框架和 Hibernate 框架
1. Spring 框架整合 Struts2 框架 // [第一种整合方式(不推荐)](http://www.cnblogs.com/linkworld/p/7718274.html) // 从 Se ...
- CodeIgniter框架开发的统计程序源代码开放
文章来源: PHP开发学习门户 自己初学php时,用CodeIgniter框架开发的后台统计程序源代码 程序部分页面如图: 具体配置及下载源代码:http://bbs.phpthinking.com/ ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:SSH框架(Struts2+Spring+Hibernate)搭建整合详细步骤
在实际项目的开发中,为了充分利用各个框架的优点,通常都会把 Spring 与其他框架整合在一起使用. 整合就是将不同的框架放在一个项目中,共同使用它们的技术,发挥它们的优点,并形成互补.一般而言,在进 ...
- Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。
1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...
随机推荐
- 团体程序设计天梯赛-练习集-L1-035. 情人节
L1-035. 情人节 以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家.第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”.现给出此贴下点赞的朋友名单,请你找出那两位要请客 ...
- 操作符重载、继承(day08)
二十 操作符重载 函数操作符"()" 功能:让对象当做函数来使用 注:对参数的个数.返回类型没有限制 eg: class A{...}; A a; //a.operator()(1 ...
- Problem 17
Problem 17 If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there a ...
- linux根据进程名字杀死进程
ps -ef | grep procedure_name | grep -v grep | awk '{print $2}' | xargs kill -9 Linux Shell脚本实现根据进程名杀 ...
- SpringBoot 读取配置文件的值 赋给静态变量
需求:写了一个工具类,但是工具类中的一些变量需要放到配置文件中,而这个工具类中的变量与方法都是静态的,这个时候我需要一个办法将配置文件中的相关配置读取过来赋值给这些静态变量.找了一些文章,试了一些方法 ...
- POJ 1474
半平面交模板 #include <iostream> #include <cstdio> #include <cstring> #include <algor ...
- 关于JOS 未对全部内存分页映射之前 物理地址映射问题的思考
在kern/pmap.c 里面会又以下这段代码,要知道boot_alloc只会分配线性地址,真正建立虚拟页和物理页映射关系的在后面的page_alloc. ////////////////////// ...
- 关于BeanShell报错提示Error invoking bsh method
背景:因测试需要打算从外部引用.java和.class文件,奈何报错挥之不去:Error invoking bsh method: eval...... 各种百度取经之后,决定先抛弃引用,试试Bean ...
- maven创建web报错failure to transfer org.codehaus.plexus
failure to transfer org.codehaus.plexus:plexus:pom:2.0.5 from http:// repo.maven.apache.org/maven2 w ...
- Fitnesse中的symbols和variables
1.symbols 主要在表间传递信息,作用于一个page中,类似于局部变量 SaveRecordInDatabase name date =key? Bob today bobKey Bill la ...