使用Strust2框架写HelloWorld
一、创建JavaWeb项目
二、搭建Stust2 FrameWork开发环境
三步完成Struts2 FrameWork开发环境的搭建
1.加入搭建Struts2 FrameWork开发环境的必需Jar包
将必需的11个Jar包复制到【lib】文件夹中
2.在【src】目录下创建“struts.xml”文件
在strusts.xml文件中加入如下配置信息
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 6 <struts> 7 <constant name="struts.devMode" value="true" /> 8 <package name="Hello_World_Struts2" extends="struts-default"> 9 <action name="index"> 10 <result>/index.jsp</result> 11 </action> 12 </package> 13 </struts>
3.在【web.xml】文件中配置Struts2的核心过滤器(红色部分)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="3.0" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 7 <display-name></display-name> 8 <welcome-file-list> 9 <welcome-file>index.jsp</welcome-file> 10 </welcome-file-list> 11 12 <filter> 13 <filter-name>struts2</filter-name> 14 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 15 </filter> 16 17 <filter-mapping> 18 <filter-name>struts2</filter-name> 19 <url-pattern>/*</url-pattern> 20 </filter-mapping> 21 22 </web-app>
三、创建Model类MessageStore
在项目的src文件夹下添加一个“MessageStore.java”文件,如下图所示
点击【Finish】完成添加,此时在src目录下就可以看到“MessageStore.java”这个文件了
打开“MessageStore.java”,编写如下代码:
1 package org.apache.struts.helloworld.model; 2 /** 3 * Model class that stores a message. 4 * @author xdp 5 * @since 2013-3-24 6 */ 7 public class MessageStore { 8 private String message; 9 public MessageStore(String msg){ 10 this.setMessage(msg); 11 } 12 public String getMessage() { 13 return message; 14 } 15 public void setMessage(String message) { 16 this.message = message; 17 } 18 }
四、创建Action类HelloWorldAction,充当Controller
在项目的src文件夹下添加一个“HelloWorldAction.java”文件,放到“org.apache.struts.helloworld.action”这个包中,如下图所示:
点击【Finish】完成添加,此时在src文件夹下就可以看到“HelloWorldAction.java”文件
在“HelloWorldAction.java”文件中编写如下代码:
1 package org.apache.struts.helloworld.action; 2 import org.apache.struts.helloworld.model.MessageStore; 3 import com.opensymphony.xwork2.ActionSupport; 4 /**Acts as a Struts 2 controller that responds 5 * to a user action by setting the value 6 * of the Message model class, and returns a String result. 7 * @author xdp 8 * @since 2013-3-24 9 * @version 1.0 10 */ 11 public class HelloWorldAction extends ActionSupport { 12 private MessageStore msgStore; 13 @Override 14 public String execute() throws Exception { 15 msgStore = new MessageStore("HelloWorld!"); 16 return SUCCESS; 17 } 18 public MessageStore getMsgStore() { 19 return msgStore; 20 } 21 public void setMsgStore(MessageStore msgStore) { 22 this.msgStore = msgStore; 23 } 24 }
五、创建View(视图)HelloWorld.jsp
在【WebRoot】文件夹下创建“HelloWorld.jsp”文件,如下图所示:
此时弹出创建JSP文件的对话框
点击【Finish】完成添加,此时在【WebRoot】文件夹下就可以看到“HelloWorld.jsp”文件
在HelloWorld.jsp编写如下代码
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 2 pageEncoding="ISO-8859-1"%> 3 <%@ taglib prefix="s" uri="/struts-tags" %> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 8 <title>Hello World!</title> 9 </head> 10 <body> 11 <h2><s:property value="msgStore.message" /></h2> 12 </body> 13 </html>
六、配置struts.xml
在struts.xml中加入红色部分的配置信息
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 <struts> 6 <constant name="struts.devMode" value="true" /> 7 <package name="Hello_World_Struts2" extends="struts-default"> 8 <action name="index"> 9 <result>/index.jsp</result> 10 </action> 11 <action name="hello" 12 class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"> 13 <result name="success">/HelloWorld.jsp</result> 14 </action> 15 </package> 16 </struts>
七、创建Action的URL链接
在index.jsp中添加Action的URL链接,index.jsp中的代码如下:
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 2 pageEncoding="ISO-8859-1"%> 3 <%@ taglib prefix="s" uri="/struts-tags" %> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 8 <title>Basic Struts 2 Application - Welcome</title> 9 </head> 10 <body> 11 <h1>Welcome To Struts 2!</h1> 12 <p><a href="<s:url action='hello'/>">Hello World</a></p> 13 </body> 14 </html>
“<%@ taglib prefix="s" uri="/struts-tags" %>”表示引入struts2的标签,“<s:url action>”是一个Struts2的标签,用于创建Action的URL链接,“<s:url action='hello'/>”表示链接到一个名字为“hello”的action,这个名字为“hello”的action是在struts.xml配置文件配置好的,在struts.xml文件中可以找到如下的配置信息
1 <action name="hello" 2 class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"> 3 <result name="success">/HelloWorld.jsp</result> 4 </action>
八、部署运行
将项目发布到MyEclispe自带的Tomcat服务器中,如下图所示:
发布成功后就可以在Tomcat服务器中看到,如下图所示:
打开浏览器,在浏览器中输入http://localhost:8080/Hello_World_Struts2/index.action,此时就可以看到运行效果,如下图所示:
点击【HelloWorld】超链接,此时看到的效果如下:
运行正常,HelloWorld!输出来了,
使用Strust2框架写HelloWorld相关推荐
- 给微软的日志框架写一个基于委托的日志提供者
动手造轮子:给微软的日志框架写一个基于委托的日志提供者 Intro 微软的日志框架现在已经比较通用,有时候我们不想使用外部的日志提供者,但又希望提供一个比较简单的委托就可以实现日志记录,于是就有了后面 ...
- 给微软的依赖注入框架写一些扩展方法
给微软的依赖注入框架写一些扩展方法 Intro 现在在项目里大多都是直接使用微软的依赖注入框架,而微软的注入方式比较简单,不如 AutoFac 使用起来灵活,于是想给微软的依赖注入增加一些扩展,使得可 ...
- 驱动框架5——基于驱动框架写led驱动
以下内容源于朱有鹏<物联网大讲堂>课程的学习整理,如有侵权,请告知删除. 五.基于驱动框架写led驱动1 1.分析 (1)参考哪里? drivers/leds/leds-s3c24xx. ...
- python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试
一.前言 很多时候为了提高软件开发的效率,后端程序人员理想状态下应该编写程序测试接口供前端程序人员进行测试,以便前端的开发.笔者由于项目的需求近期尝试学习了一下测试接口的编写,以Python+Flas ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)--创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)--使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- 电信资费管理系统 ssm框架写后台
电信资费管理系统 ssm框架写后台 1.登录 登录输入用户名,密码,验证码,输入的用户名,密码,验证码从后台进行验证,用户名,密码会通过sql语句在数据库中进行查询. 前端jsp <body c ...
- firefox 47 使用 greasemonkey (油猴子) 写 helloworld
output firefox 47 使用 greasemonkey (油猴子) 写 helloworld input fedora 24 baidu Greasemonkey helloworld h ...
- 用java写helloworld
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 用java写helloword 前言 使用语言:java 使用的编译器:idea 二.步骤 1.打开idea,选择文件,新建java项 ...
- 【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真
HIGHLIGHT: vivado设计流程: note: 分析与综合 和 约束输入 可以调换顺序 [基于zynq的卷积神经网络加速器设计](一)熟悉vivado和fpga开发流程:使用Vivado硬件 ...
最新文章
- 学习,思维三部曲:WHAT、HOW、WHY
- 注册修复动态链接库DLL文件
- fmpeg 编译编码 _libx264和librtmp
- 解决Ubuntu16.04重启进入initramfs
- 垃圾代码评析——关于《C程序设计伴侣》9.4——链表(四)
- php dhcp,ip如何设置dhcp
- python turtle库输出文字_python turtle库学习笔记
- python打印json_Python漂亮打印JSON
- NO.76 禅道使用分享第八期:创维软件开发团队畅谈专业版
- 133个Java面试问题列表
- [diy-windows系统] Windows下dism 集成系统补丁、驱动
- Web前端案例_QQ登录界面实现
- android远程主机强迫关闭了一个现有的连接,远程主机强迫关闭了一个现有的连接解决方法...
- 【论文阅读】GPT系列论文详解
- 201919102004张雪婷(第六次作业)
- 第三方直播美颜SDK的美颜功能是怎么实现的?
- 北京19家A类定点医院名单
- vr虚拟现实技术前景怎么样?虚拟展示技术应用介绍
- Excel 使用小妙招之解决“##”显示问题
- html和css的基本入门
热门文章
- 【Android 插件化】恶意软件判定规则 | 恶意软件的范围定义
- 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )
- 【Android 电量优化】电量优化 ( Battery Historian 环境要求 | 电量分析报告 | 电量优化三原则 | 电量优化注意事项 )
- Swagger 入门使用
- nmap之扫描端口(附加hping3隐藏扫描)
- CPU调度(CPU Scheduling)
- ESP8266 问题
- Unity Time的使用
- Android manifest属性总结
- 谈从10亿个数中找出前10万个最大的