当前位置: 首页 > news >正文

JAVA边学边练答案_Struts2边学边练(1)-HelloWorld

Web服务器:apache-tomcat-6.0.18

Struts版本:struts-2.0.14

JDK版本:JDK1.5.0_12

Eclipse版本:eclipse-jee-ganymede-SR1-win32 也就是eclipse的开发JEE版本,很多人都使用myeclipse,但是由于myeclipse是商业版本,所以觉得eclipse-jee-ganymede对于开发JEE的项目已经很不错了,所以我觉得没必要用myEclipse去开发。

Struts2需要的jar包:

至少需要如下五个包

struts2-core-2.0.11.1.jar

xwork-2.0.4.jar

commons-logging-1.0.4.jar

freemarker-2.3.8.jar

ognl-2.6.11.jar

在这个简单的例子中,我们将会完成以下步骤:

1.配置web.xml

2.编写jsp

3.编写Action实现类

4.配置Action

5.发布运行

1.配置web.xml

Struts2的入口点是一个Filter,需要将这个入口点配置到web.xml:

4f1150b881333f12a311ae9ef34da474.png<?xml  version="1.0" encoding="UTF-8"?>4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png    

4f1150b881333f12a311ae9ef34da474.pngHelloWorld4f1150b881333f12a311ae9ef34da474.png    

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngindex.jsp4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png    

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngstruts24f1150b881333f12a311ae9ef34da474.pngorg.apache.struts2.dispatcher.FilterDispatcher4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngstruts24f1150b881333f12a311ae9ef34da474.png/*4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png    

4f1150b881333f12a311ae9ef34da474.png

2. 编写jsp

在这个例子中需要两个jsp,一个是index.jsp, 用于输入用户的名字。第二个jsp是welcome.jsp,用于向用户问候。

在Struts2中只需要一个标签库/struts-tags。这里面包含了所有的Struts2标签。但使用Struts2的标签大家要注意一下。在<:form>中最好都使用Struts2标签,尽量不要用HTML或普通文本.

index.jsp如下:

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gif1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gif4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.pnghtml PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.pngHelloWorld 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png

welcome.jsp如下:

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gif1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gif4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.pnghtml PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.pngHelloWorld 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png  Hello 4f1150b881333f12a311ae9ef34da474.png 4f1150b881333f12a311ae9ef34da474.png

3.编写Action类

Struts2.x的Action需要从com.opensymphony.xwork2.ActionSupport类继承。而且Action中已经包含了Struts1中的ActionForm类信息,所以不需要再写ActionForm类。

在这个例子中只编写了一个HelloWorld.java类:

4f1150b881333f12a311ae9ef34da474.pngpackagecom.struts2.action;

4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.pngimportcom.opensymphony.xwork2.ActionSupport;

4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclassHelloWorldextendsActionSupport9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png

d18c02628675d0a2c816449d98bda930.pngprivatestaticfinallongserialVersionUID=-2567455771246284511L;

d18c02628675d0a2c816449d98bda930.png    

d18c02628675d0a2c816449d98bda930.pngprivateString name;

d18c02628675d0a2c816449d98bda930.png    

d18c02628675d0a2c816449d98bda930.png    

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicString getName()9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.pngreturnname;

ecedf933ec37d714bd4c2545da43add2.png    }d18c02628675d0a2c816449d98bda930.png

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicvoidsetName(String name)9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.pngthis.name=name;

ecedf933ec37d714bd4c2545da43add2.png    }d18c02628675d0a2c816449d98bda930.png

d18c02628675d0a2c816449d98bda930.png

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicString execute()throwsException9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        

d18c02628675d0a2c816449d98bda930.png        setName(getName());        

d18c02628675d0a2c816449d98bda930.pngreturnSUCCESS;

ecedf933ec37d714bd4c2545da43add2.png    }d18c02628675d0a2c816449d98bda930.png

8f1ba5b45633e9678d1db480c16cae3f.png}

4.配置Action类:

在struts2.x中的配置文件一般为struts.xml,放到WEB-INF"classes目录中。下面是在struts.xml中配置动作类的代码:

4f1150b881333f12a311ae9ef34da474.png<?xml  version="1.0" encoding="UTF-8"?>4f1150b881333f12a311ae9ef34da474.pngstruts PUBLIC

4f1150b881333f12a311ae9ef34da474.png    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

4f1150b881333f12a311ae9ef34da474.png    "http://struts.apache.org/dtds/struts-2.0.dtd">4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png/welcome.jsp4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png

5.发布:

在eclipse-jee-ganymede下配置tomcat服务器,很简单。

Windows->Performance->Server->Runntime Environment->Add.随着向导就可以增加tomcat服务器了。

然后鼠标右键点击项目的根目录,选择菜单的Run As->Run on Server就可以发布启动你的项目了。而且还有eclipse自带的浏览器,感觉很不错咯。

916ca5d74e9508fcf60e07b3c0178add.png

c7d9545bd0472260ed087c84ced51232.png

posted on 2009-01-06 19:20 一叶笑天 阅读(318) 评论(0)  编辑  收藏 所属分类: Struts技术

相关文章:

  • php gzip css 乱码,php使用gzip压缩传输js和css文件的方法
  • php静态检测工具,PHP静态代码分析工具,可以检测未捕获的异常?
  • php 挂起一个请求一直执行,在后台运行进程挂起PHP pag
  • php设置cookie路径,php 设置cookie路径例子总结
  • 服务器被上传文件php,求助,哪位大神遇到过这种情况,linux服务器总是被上传这些文件...
  • php m grep gd,ubuntu – php5-gd显示在“php -i | grep -i gd“但不是在phpinfo();
  • php my global.h,11月13日任务 - 志明咖的个人空间 - OSCHINA - 中文开源技术交流社区...
  • php限制输入数字,如何使用javascript和php禁用数字输入类型
  • php7 curl 慢,PHP7无法加载curl模块
  • 二叉树建树java,二叉树的建树、遍历(先序、中序、后序、层次)(递归和非递归)--Java实现...
  • 集卡php源码,PHP自动售货发卡网源码 集成多种支付接口
  • q币充值php,腾讯Q币会员充值
  • php 里面的echo啥意思,echo的含义 echo 有哪些含义,有什么功能
  • python 类属性存放,保存到文件并加载python类的实例及其属性
  • windows没有mysql配置文件,关于Windows下无法在MySQL安装目录找到配置文件my.ini
  • 分享一款快速APP功能测试工具
  • Angular2开发踩坑系列-生产环境编译
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • js ES6 求数组的交集,并集,还有差集
  • mysql 5.6 原生Online DDL解析
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 关于Flux,Vuex,Redux的思考
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 利用jquery编写加法运算验证码
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何学习JavaEE,项目又该如何做?
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • C# - 为值类型重定义相等性
  • 关于Android全面屏虚拟导航栏的适配总结
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (python)数据结构---字典
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (转)Sublime Text3配置Lua运行环境
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET CLR Hosting 简介
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • @font-face 用字体画图标
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @WebServiceClient注解,wsdlLocation 可配置
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [C/C++]数据结构 堆的详解
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [CISCN2019 华东南赛区]Web11
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [Luogu 2816]宋荣子搭积木
  • [py]python自省工具