Eclipse 搭建 Strust2开发环境
一、创建一个动态Web项目
♦ 注意 :一定要勾选Generate Web.xml deployment descriptor 选项,这个将在Eclipse为你创建一个动态web项目。
二、导入相关jar包
从Struts2 的lib文件夹中拷贝以下文件到项目的 WEB-INF\lib 文件夹里。
三、创建Aciton类
Action类是Struts2 应用程序的关键,通过它实现大部分的业务逻辑。
- public class HelloAction {
- private String name;
- public String execute() {
- System.out.println("访问到了......");
- return "success";
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
这是一个非常简单的具有“name”属性的类。对于“name”属性,我们用标准的getter和setter方法,以及一个返回“success”字符串的执行方法。
Struts2 框架将创建一个“HelloAction ”类的对象,并调用execute方法来响应用户的动作。你把你的业务逻辑放进execute方法里,最后会返回字符串常量。简单的描述每个URL,你需要实现一个Action类,你也可以用类名直接作为你的动作名,或者使用 struts.xml文件 映射到其他name上。
四、创建视图
hello.jsp
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Say Hello</title>
- </head>
- <body>
- 你好,<font color="red">${name }</font>!<br>
- 你好,<font color="green"><s:property value="name"/></font>!
- </body>
- </html>
五、创建主页:
index.jsp
- <html>
- <head>
- <meta charset="utf-8">
- <title>Say Hello</title>
- </head>
- <body>
- <h1>Hello World From Struts2</h1>
- <form action="SayHello"> <!-- 与struts.xml中的action.name保持一致 -->
- <label for="name">请输入您的昵称:</label><br/>
- <input type="text" name="name"/>
- <input type="submit" value="Say Hello"/>
- </form>
- </body>
- </html>
六、配置文件
♦ struts.xml : 文件需要在Java Resources的 src下创建;
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
- "http://struts.apache.org/dtds/struts-2.5.dtd"> <!-- 可在 Web App Libraries ——>struts2-core-2.5.20.jar ——>struts-default.xml 中复制 -->
- <struts>
- <package name="hello" namespace="/" extends="struts-default">
- <action name="SayHello" class="pers.uie.action.HelloAction" method="execute">
- <result>/hello.jsp</result>
- </action>
- </package>
- </struts>
其中,<package>标签具有以下属性:
定义<action>标签对应于我们想要访问的每个URL,并且使用execute()方法定义一个访问相应的URL时将要访问的类。
- <!--action:业务控制器,用于注册业务控制器组件
- name:action名称,用于规定Action的访问路径
- class:业务控制器组件,用于指定业务控制器对应的类
- method:方法,用于指定访问 当前action时要调用的方法 -->
(Results(结果)确定在执行操作后返回到浏览器的内容,而从操作返回的字符串应该是结果的名称。Results有 name和 type属性可选,默认的name值是“success”。)
- <!--result:输出组件,用于转发、重定向、直接输出
- name:名称,一个action下可以有多个result,彼此不能重名
- 默认值转发,元素内设置转发的页面 -->
♦ web.xml : 文件需要在WebContent的WEB-INF文件夹下创建;
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(将Struts2 过滤器映射到 /* ,而不是 /*.action ,这意味着所有的url都会被Struts过滤器解析。)
最后,启动Tomcat服务器并尝试访问URL http://localhost:8080/HelloStruts2/index.jsp ,将会呈现如下图所示的结果:
输入一个“Struts2”值并提交页面,可以看到以下页面:
Eclipse 搭建 Strust2开发环境的更多相关文章
- Jdk1.7+eclipse搭建Java开发环境
Jdk1.7+eclipse搭建Java开发环境 1. 下载jdk1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7 ...
- 使用Eclipse搭建JavaWeb开发环境的几个基本问题
Eclipse搭建JavaWeb开发环境 eclipse是一个用于java程序开发的ide软件,tomcat是一个运行javaweb应用的服务器软件,使用eclipse开发javaweb应用的时,首要 ...
- 基于eclipse搭建android开发环境-win7 32bit
基于eclipse搭建android开发环境-win7 32bit 前言:在使用朋友已搭建的Android开发环境时,发现朋友的开发环境版本较低且在update SDk时失败,便决定根据网上文章提示从 ...
- Eclipse搭建Android开发环境并运行Android项目
Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...
- 【转】使用Eclipse搭建Python开发环境
因为要进行自动化测试,所以要搭建Python开发环境.这里将使用Eclipse+pyDev进行搭建,在此作为笔记记录下来. 需要的组件: 1.Eclipse SDK 3.7(这里将不再叙述Eclips ...
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...
- MyEclipse10搭建Strust2开发环境
一.创建一个JavaWeb项目 启动MyEclipse10 ,然后在MyEclipse中创建一个JavaWeb项目,点击[File]---->[New]---->[WebProjec ...
- 在ubuntu下使用Eclipse搭建Hadoop开发环境
一.安装准备1.JDK版本:jdk1.7.0(jdk-7-linux-i586.tar.gz)2.hadoop版本:hadoop-1.1.1(hadoop-1.1.1.tar.gz)3.eclipse ...
- Eclipse搭建maven开发环境
上一篇学习了maven开发环境的搭建,而且手动编写了一个mavenproject,可是这样子效率非常低下.今天带大家学习在eclipse下搭建maven开发环境. 经常使用的maven命令 mvn c ...
随机推荐
- Linux Hung Task分析
关键词:khungtaskd.TASK_UNINTERRUPTIBLE.nvcsw.nivcsw.last_switch_count等等. 经常会遇到内核打印“INFO: task xxx:xxx b ...
- Auto Layout: Programmatic Constraints - BNR
继续Auto Layout - BNR篇. 打开BNRDetailViewController.m文件,重载viewDidLoad方法来创建UIImageView对象.当你想要给通过加载NIB文件创建 ...
- 私有云方案——利用阿里云云解析实现DDNS
各位都是程序员,工作中是不是遇到个类似情况.在家里研究的一些开源代码或写的一些demo或试验代码,在工作中正好需要参考一下,但是在家里的电脑上. 虽然这些都可以用云 ...
- FineUIPro v5.1.0 发布了!
FineUIPro v5.1.0 已发布,这已经是自 2014 年以来的第 31 个版本,4 年来精雕细琢,只为你来! 上个大版本新增了响应式布局,而这个版本主要是BUG修正,此外还增加了树控件的级联 ...
- 三十三、ajaxFileUpload图片上传
$.ajaxFileUpload({ url : "api/upload/filesUpload", secureuri : false, //一般设置为false fileEle ...
- H5网页后在返回到微信公众平台自定义菜单
<p class="success">订阅成功!</p> <div class="btn" @click="finish ...
- 该错误的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1 这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表 ...
- CodeSmith如何生成实体类 ,完善版
<%-- Name: Database Table Properties Author: Paul Welter Description: Create a list of properties ...
- 洛谷 P1088 火星人
https://www.luogu.org/problemnew/show/P1088 这个题一开始是很蒙的 感觉很麻烦,每次都要交换balabala..... 后来才知道有这么一个神奇的stl 真是 ...
- ESXI 6.5安装详细步骤
网址:http://blog.51cto.com/laotang6/2044861 ESXi是专为运行虚拟机.最大限度降低配置要求和简化部署而设计.只需几分钟时间,客户便可完成从安装到运行虚拟机的全过 ...