[struts2学习笔记] 第三节 创建struts 2 HelloWorld所需的六个步骤
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40349201
官方文档: http://struts.apache.org/release/2.3.x/docs/hello-world-using-struts-2.html
本文作者:sushengmiyan
------------------------------------------------------------------------------------------------------------------------------------
当你在Struts 2 web应用中点击一个超链接或者提交一个form表单数据时,输入的数据并没有传到server的还有一个页面,而是到了你提供的一个Java类. 这些类就叫做Actions. 当Action被fire, 结果会选择一个资源呈现响应. 通常情况下,资源是一个网页页面, 也能够是PDF文件, 或者是Excel页签, 或者是一个Java applet窗体.
如果你想创建一个简单的"Hello World" 样例展示欢迎信息. 在简单设定struts工作环境之后(參照 如何创建struts 2 web应用), 创建"Hello World"样例,你须要做例如以下四件事情:
- 创建一个存储欢迎信息的java类(模型model)
- 创建一个呈现信息的页面(视图 view)
- 创建一个Action类来控制用户、模型和视图之间的关系(控制器controller)
- 创建一个mapping (struts.xml) 来组合Action类和视图
第一步- 创建模型类 MessageStore.java
在我们第一个样例中,我们新建一个包com.susheng.struts2Maven.bean在里面新建一个类MessageStore。内容例如以下:
package com.susheng.struts2Maven.bean; public class MessageStore { private String message; public MessageStore() { setMessage("Hello Struts User"); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
第二步 - 创建Action类 HelloWorldAction.java
新建包com.susheng.struts2Maven.action在此包下新建类HelloWorldAction。内容例如以下:
package com.susheng.struts2Maven.action; import com.opensymphony.xwork2.ActionSupport; import com.susheng.struts2Maven.bean.MessageStore; public class HelloWorldAction extends ActionSupport{ private static final long serialVersionUID = 1L; private MessageStore messageStore; public String execute() throws Exception { messageStore = new MessageStore() ; return SUCCESS; } public MessageStore getMessageStore() { return messageStore; } public void setMessageStore(MessageStore messageStore) { this.messageStore = messageStore; } }
第三步 - 创建View HelloWorld.jsp
内容例如以下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ 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=ISO-8859-1"> <title>Hello World!</title> </head> <body> <h2><s:property value="messageStore.message" /></h2> </body> </html>
第四步 - 添加Struts配置到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.devMode" value="true" /> <package name="basicstruts2" extends="struts-default"> <action name="index"> <result>/index.jsp</result> </action> <action name="hello" class="com.susheng.struts2Maven.action.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp</result> </action> </package> </struts>
第五步 - 创建URL Action
index.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>Basic Struts 2 Application - Welcome</title> </head> <body> <h1>Welcome To Struts 2!</h1> <p><a href="<s:url action='hello'/>">Hello World</a></p> </body> </html>
第六步 - 构造WAR文件并执行程序
我构造的war包是basic_struts.war所以我訪问链接:http://localhost:8080/basic_struts/index.action,进入之后点击helloworld链接,正常跳转。第二篇实际样例就学习完毕。
struts2的工作原理:
相关文章
- [原创]W2k Driving 学习笔记(二)使用GCC创建 Windows NT 下的内核DLL
- ElasticSearch学习笔记(三)logstash安装和logstash-input-jdbc插件
- AMD加载器实现笔记(二)
- RHCE 学习笔记(36) - MariaDB
- MyBatis学习笔记
- ObjectArx学习笔记-创建多段线
- java&javaweb学习笔记
- Python学习笔记 使用matplotlib创建Gif动图
- Opencv学习笔记 OpenCv4.5.0 + VS2019 创建c++测试项目
- MATLAB学习笔记 MATLAB仿PhotoShop油画/毛玻璃/漩涡/锥形等特效
- 机器学习笔记 - 使用TensorFlow Lite从头创建模型
- 机器学习笔记 - 什么是ABC算法?
- 数学建模学习笔记(二十二)灰色预测(下)Verhulst模型
- Javascript 学习 笔记三
- 《卸甲笔记》-Oracle线下迁移到PPAS
- 《卸甲笔记》-PostgreSQL和Oracle的数据类型的对比系列一:字符类型
- 设计模式初学者笔记:Builder模式
- HTML5学习笔记简明版(10):过时的元素和属性
- sqlite学习笔记4:表的创建和删除
- 2022年,总结了一份4000字Selenium 学习笔记
- git学习笔记(二)—— 创建版本库&&版本管理
- CC2540开发板学习笔记(五)——串口通信
- MATLAB学习笔记(三)——程序设计
- HarmonyOS鸿蒙学习笔记(5)@State作用说明和简单案例
- 学习笔记:支持向量机