软件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框架,开发一个加法器,采用两个页面,一个页面输入数据,另一个界面输出结果。的更多相关文章

  1. struts2框架开发的第一个应用

    写这篇博文,主要是帮助那些刚接触struts2框架开发而不知所措的人,希望批评指正 一.先建立一个web project,命名为struts2 二.在webroot/WEB-INF/lib目录下添加如 ...

  2. struts2框架——从后台取得数据集,并在前台页面循环显示

    1.CourseBean.java public class CourseBean { private String f_courseId = ""; private String ...

  3. 每天一点点之vue框架开发 - 数据渲染-for循环中动态设置页面背景色

    实现方式很简单,在属性前加:,表示绑定 :style="{'background':item.bgColor} 代码样例: <li v-for="item in laber_ ...

  4. 使用Maven搭建Struts2框架的开发环境

    一.创建基于Maven的Web项目

  5. Spring框架+Struts2框架第一次整合

    1:Spring框架和Struts2框架如何整合??? Spring 负责对象创建 Struts2 用Action处理请求 2:Spring与Struts2框架整合的关键点: 让struts2框架ac ...

  6. Struts2框架起源

    曾经也用过S2SH框架做过几个项目,都不是工作中的,学习WEB开发的时候接触的第一套框架也是S2SH,可是工作之后一直没实用到S2SH 框架进行开发. 感觉曾经用这个框架的时候根本没有深入去了解这个框 ...

  7. Spring 框架整合Struts2 框架和 Hibernate 框架

    1. Spring 框架整合 Struts2 框架 // [第一种整合方式(不推荐)](http://www.cnblogs.com/linkworld/p/7718274.html) // 从 Se ...

  8. CodeIgniter框架开发的统计程序源代码开放

    文章来源: PHP开发学习门户 自己初学php时,用CodeIgniter框架开发的后台统计程序源代码 程序部分页面如图: 具体配置及下载源代码:http://bbs.phpthinking.com/ ...

  9. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:SSH框架(Struts2+Spring+Hibernate)搭建整合详细步骤

    在实际项目的开发中,为了充分利用各个框架的优点,通常都会把 Spring 与其他框架整合在一起使用. 整合就是将不同的框架放在一个项目中,共同使用它们的技术,发挥它们的优点,并形成互补.一般而言,在进 ...

  10. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

随机推荐

  1. boost asio异步读写网络聊天程序客户端 实例详解

    boost官方文档中聊天程序实例讲解 数据包格式chat_message.hpp <pre name="code" class="cpp">< ...

  2. python时间序列按频率生成日期

    有时候我们的数据是按某个频率收集的,比如每日.每月.每15分钟,那么我们怎么产生对应频率的索引呢?pandas中的date_range可用于生成指定长度的DatetimeIndex.我们先看一下怎么生 ...

  3. PAT_A1105#Spiral Matrix

    Source: PAT A1105 Spiral Matrix (25 分) Description: This time your job is to fill a sequence of N po ...

  4. html第六节课

    JavaScript 一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系 ...

  5. JavaEE el表达式中三目运算符的使用

    也可以通过在bean对象中写getter方法通过对象.属性进行调用

  6. Mybatis配置之别名配置元素详述

    这里我们贴出之前的UserDao对应的mapper文件,如下所示 从这个配置文件中,我们可以看到<select>.<insert>和<update>三个标签元素的r ...

  7. 使用Linux自带的命令logrotate对Nginx日志进行切割

    说明: Nginx安装目录:/usr/local/nginx/Nginx日志目录:/var/log/nginx/error/*.log /var/log/nginx/access/w1/*.log / ...

  8. PAT 1088. Rational Arithmetic

    For two rational numbers, your task is to implement the basic arithmetics, that is, to calculate the ...

  9. 【ACM】nyoj_2_括号配对问题_201308091548

    括号配对问题时间限制:3000 ms  |  内存限制:65535 KB 难度:3描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示 ...

  10. STL之rb_tree的find函数

    1 通用的search方法 STL在实现对特定key值的查找时,并没有採用通用的方法: BRTreeNode * rb_tree_search(RBTreeNode * x, int key){ wh ...