- 浏览: 197734 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
wangxin0ldrs:
Exception in thread "main& ...
Javamail发送邮件的简单实例 -
Drakedog:
现在知道是jar包里的,但是好像不是org.apache.cr ...
AJAX大量数据xml格式提交 -
Drakedog:
XmlDocument 这个是要自己写 吗?
AJAX大量数据xml格式提交 -
fashion_518:
楼主是高手吗?
SSH2的包 -
cloverprince:
阿,动态语言的优雅。正在为java+DOM的罗嗦发愁的路过。
解析XML
<package name="tutorial" extends="struts-default">的name属性是什么
当提交一个Html的Form给Struts2框架时,数据不再是提交给服务器端的某一个JSP页面,而是提交给一个Action类。而框架根据配置文件把与该Action类对应的页面(这个页面可以是JSP页面,也可以是PDF、Excel或Applet)返回给客户端。
写一个Struts2的HelloWorld , 我们需要做三件事:
1. 创建一个显示信息的JSP文件
2. 创建一个生成信息的Action类
3. 建立JSP页面和Action的mapping(映射)
创建HelloWorld.jsp文件
HelloWorld.jsp存放在war目录下面
创建Action类HelloWorld.java
HelloWorld.java存放在src/tutorial下面
在struts.xml建立映射
此文件存放在classes下面,同时还要建一个struts.properties的属性文件放在这个目录下,这个文件可以是空的,什么都不写
创建web.xml
web.xml毫无疑问放在WEB-INF下
创建build.xml
build.xml放在struts2app目录下,再在这个目录下建一个build.properties文件,内容如下:
按照build.properties配置你的tomcat位置。在struts2app目录下运行ant build ,ant deploy ,程序就发布到tomcat的webapps下
# Ant properties for building the springapp
appserver.home=d:/tomcat5.5
deploy.path=${appserver.home}/webapps
tomcat.manager.url=http://localhost:8080/manager
tomcat.manager.username=admin
tomcat.manager.password=admin
运行
现在,启动tomcat,访问http://localhost:8080/tutorial/HelloWorld.action,能看到页面的title为"Hello World!" ,页面上显示"Struts is up and running!".
它们怎么运行的
1、 struts2容器收到HelloWorld.action请求,从web.xml获取设置,org.apache.struts2.dispatcher.FilterDispatcher是所有应用(包括*.action)的入口点。
2、 struts2在struts.xml中找到HelloWorld类(Action),并调用它的execute方法。
3、 execute方法给message变量赋值,并返回SUCCESS,struts2收到SUCCESS标志,按照映射关系,把HelloWorld.jsp返回客户端。
4、 当HelloWorld.jsp开始运行,<s:property value="message" />会调用HelloWorld类getMessage方法,把结果显示在页面上。
当提交一个Html的Form给Struts2框架时,数据不再是提交给服务器端的某一个JSP页面,而是提交给一个Action类。而框架根据配置文件把与该Action类对应的页面(这个页面可以是JSP页面,也可以是PDF、Excel或Applet)返回给客户端。
写一个Struts2的HelloWorld , 我们需要做三件事:
1. 创建一个显示信息的JSP文件
2. 创建一个生成信息的Action类
3. 建立JSP页面和Action的mapping(映射)
创建HelloWorld.jsp文件
<%...@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Hello World!</title> </head> <body> <h2><s:property value="message" /></h2> </body> </html>
HelloWorld.jsp存放在war目录下面
创建Action类HelloWorld.java
package tutorial; import com.opensymphony.xwork2.ActionSupport; public class HelloWorld extends ActionSupport ...{ public static final String MESSAGE = "Struts is up and running ..."; public String execute() throws Exception ...{ setMessage(MESSAGE); return SUCCESS; } private String message; public void setMessage(String message)...{ this.message = message; } public String getMessage() ...{ return message; } }
HelloWorld.java存放在src/tutorial下面
在struts.xml建立映射
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="tutorial" extends="struts-default"> <action name="HelloWorld" class="tutorial.HelloWorld"> <result>/HelloWorld.jsp</result> </action> <!-- Add your actions here --> </package> </struts>
此文件存放在classes下面,同时还要建一个struts.properties的属性文件放在这个目录下,这个文件可以是空的,什么都不写
创建web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app> <display-name>Struts2 Hello World!</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
web.xml毫无疑问放在WEB-INF下
创建build.xml
<?xml version="1.0"?> <project name="struts2app" basedir="." default="usage"> <property file="build.properties"/> <property name="src.dir" value="src"/> <property name="web.dir" value="war"/> <property name="build.dir" value="${web.dir}/WEB-INF/classes"/> <property name="name" value="struts2app"/> <path id="master-classpath"> <fileset dir="${web.dir}/WEB-INF/lib"> <include name="*.jar"/> </fileset> <!-- We need the servlet API classes: --> <!-- for Tomcat 4.1 use servlet.jar --> <!-- for Tomcat 5.0 use servlet-api.jar --> <!-- for Other app server - check the docs --> <fileset dir="${appserver.home}/common/lib"> <include name="servlet*.jar"/> </fileset> <pathelement path="${build.dir}"/> </path> <target name="usage"> <echo message=""/> <echo message="${name} build file"/> <echo message="-----------------------------------"/> <echo message=""/> <echo message="Available targets are:"/> <echo message=""/> <echo message="build --> Build the application"/> <echo message="deploy --> Deploy application as directory"/> <echo message=""/> </target> <target name="build" description="Compile main source tree java files"> <mkdir dir="${build.dir}"/> <javac destdir="${build.dir}" target="1.3" debug="true" deprecation="false" optimize="false" failonerror="true"> <src path="${src.dir}"/> <classpath refid="master-classpath"/> </javac> </target> <target name="deploy" depends="build" description="Deploy application"> <copy todir="${deploy.path}/${name}" preservelastmodified="true"> <fileset dir="${web.dir}"> <include name="**/*.*"/> </fileset> </copy> </target> </project>
build.xml放在struts2app目录下,再在这个目录下建一个build.properties文件,内容如下:
按照build.properties配置你的tomcat位置。在struts2app目录下运行ant build ,ant deploy ,程序就发布到tomcat的webapps下
# Ant properties for building the springapp
appserver.home=d:/tomcat5.5
deploy.path=${appserver.home}/webapps
tomcat.manager.url=http://localhost:8080/manager
tomcat.manager.username=admin
tomcat.manager.password=admin
运行
现在,启动tomcat,访问http://localhost:8080/tutorial/HelloWorld.action,能看到页面的title为"Hello World!" ,页面上显示"Struts is up and running!".
它们怎么运行的
1、 struts2容器收到HelloWorld.action请求,从web.xml获取设置,org.apache.struts2.dispatcher.FilterDispatcher是所有应用(包括*.action)的入口点。
2、 struts2在struts.xml中找到HelloWorld类(Action),并调用它的execute方法。
3、 execute方法给message变量赋值,并返回SUCCESS,struts2收到SUCCESS标志,按照映射关系,把HelloWorld.jsp返回客户端。
4、 当HelloWorld.jsp开始运行,<s:property value="message" />会调用HelloWorld类getMessage方法,把结果显示在页面上。
发表评论
-
hibernate 如何实现延迟加载
2011-03-25 15:26 829延迟加载: ... -
基本O/R映射(二)--Hibernate快速参考
2011-03-24 13:14 966composite-id <composite-id ... -
基本O/R映射(一)--Hibernate快速参考
2011-03-24 13:12 1033hibernate-3.2/doc/reference/en/ ... -
Spring实例化Bean的三种方式
2010-11-19 15:53 838本文向您介绍Spring实例化Bean的三种方式,包括xml配 ... -
lazy-init属性和预实例化
2010-11-19 14:20 1028最近在负责一个大项目 ... -
可以取得页面参数的 ServletRequestAware接口
2010-11-09 14:05 965为了在Action处理过程中可以访问到当前请求HttpServ ... -
DAO中的异常处理
2010-06-29 18:57 1108只有在可以合理地预期调用者可以处理异常时,DAO 接口中的方法 ... -
在spring中使用log4j
2010-06-28 14:59 802Log4j是Apache的一个开放源代码项目,通过使用Log4 ... -
struts2中extends='struts-default' 理解
2010-06-25 10:11 3155struts2的struts.xml中package是否必须要 ... -
Struts2如何使用Spring插件完成整合
2010-06-24 17:51 1471Struts2与Spring的整合,对于程序员很有利,他能使程 ... -
几种获得spring里注册Bean的方法 转载
2010-06-23 14:52 916/** * 获取类型为requiredType的对 ... -
ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext的区别
2010-06-23 10:26 1429classpath: 前缀是不需要的, 默认就是指项目的cla ... -
spring+hibernate架构中Dao访问数据库的几种方法
2010-06-07 13:06 873在spring+hibernate的架构中,访问数据库有几种方 ... -
编程式的事务管理
2010-06-07 12:34 897编程式事务提供了 TransactionTemplate 模板 ... -
好文章
2010-06-07 11:29 685http://wangjie0503.blog.sohu.co ... -
【Spring.事务.异常回滚】请问Spring的声明式事务发生异常时的处理方式。
2010-06-04 15:52 1653http://www.iteye.com/problems/1 ... -
Dao层(hibernate实现)的异常是在Dao层类内处理还是抛到上一层(Service业务层)
2010-06-04 13:58 3406Dao层(hibernate实现)的异 ... -
SSH2的包
2010-06-01 16:41 1245你可能把不要的包也导进去了或是哪个必需的包没导入,以下是必需包 ... -
Struts2 获取request对象的方法
2010-05-31 16:27 1252方法一: 在Action中的代码:Map request ... -
申明式事务和OpenSessionInView
2010-05-25 16:05 796Write operations are not allowe ...
相关推荐
<action name="VMHelloWorld" class="tutorial.HelloWorld"> <result type="velocity">/HelloWorld.vm</result> </action> 例3 classes/struts.xml中VMHelloWorld Action的配置 新建HelloWorld.vm,内容如下所示:...
<property name="JDBC.ConnectionURL" value="jdbc:hsqldb:data/tutorial"/> <property name="JDBC.Username" value="sa"/> <property name="JDBC.Password" value=""/> </dataSource> </...
spring-boot2-master <h1>YouTube Channel - Spring Boot Tutorial</h1> <p>Subscribe for future video and updates</p> <a href=...
Input/Output Using Stream Classes<br/><br/>13.1 Common Background of I/O Streams<br/><br/>13.2 Fundamental Stream Classes and Objects<br/><br/>13.3 Standard Stream Operators << and >><br/><br/>13.4 ...
OpenGL 3.3教程翻译 OpenGL 3.3 Tutorial Translation ======== 项目简介 Introduction -------- 此项目致力于将Arnaud Masserann等所著在线课程《Tutorials for OpenGL 3.3 and later》翻译为简体中文版。原版英文...
<br>配置myclipse下的Jboss服务器<br><br> EJBStatelss<br><br>Jboss测试<br><br> http://localhost:8080/<br><br>准备工程<br> <br>新建bean<br> Session建立完毕,我们只建了remote的访问方式<br> 写入代码:<br> ...
英文版<br>======================<br> C# 2008 offers powerful new features, and Accelerated C# 2008 is the <br> fastest path to mastering them, and the rest of C#, for both experienced <br> C# ...
1,01.zip<br>Output<br>显示所有的调试信息(5KB)<END><br>2,02.zip<br>Some general debugging tips<br>一般的调试技巧(11KB)<END><br>3,03.zip<br>Debugging ISAPI extension<br>调试ISAPI扩展(4KB)<END><br>4,04....
* Actuator Model name changed (RX-28M -> MX-28) * MX-28 firmware updated. * dxl_monitor : can change ID (control table addr 3) * Get-up motion changed. * Sensor calibration routine changed. (use ...
The ANSI C Programming Language (Kernighan & Ritchie) EN 英文原版<br><br>学习标准C语言最好的入门书,结合Unix高级编程,将C语言讲得非常透彻<br>Chapter 1- A Tutorial Introduction<br>Chapter 2- Types,...
1,01.zip<br>Leveraging C++ Applications Using COM<br>使用COM提高C++应用程序的性能(8KB)<END><br>2,02.zip<br>HOWTO Configure DCOM Timeouts<br>如何配置DCOM的超时设定(13KB)<END><br>3,03.zip<br>...
<br><br>Introduction<br><br>This tutorial will start with the very basis of File I/O (Input/Output) in C++. After that, I will look into aspects that are more advanced, showing you some tricks, and ...
src.zip<br>Splitter window control(454KB)<END><br>38,msform.exe<br>ActiveX script hosting - 2(123KB)<END><br>39,axhost.exe<br>ActiveX script hosting(109KB)<END><br>40,ATL_Script.zip<br>Implementing ...
1,01.zip<br>Calling Stored Procedures<br>调用存储过程(8KB)<END><br>2,02.zip<br>Create Access data source name dynamically<br>动态创建Access的数据源名(5KB)<END><br>3,03.zip<br>Using DAO to read data ...
针对Struts1的网页版的Struts Design and Programming A Tutorial
1,01.zip<br>ActiveX script hosting<br>ActiceX script主机程序(20KB)<END><br>2,02.zip<br>ActiveX Control Tutorial<br>ActiveX控件指南(11KB)<END><br>3,03.zip<br>An ASP Component to Send Arbitary Large ...
XML Tutorial<br>Schema Tutorial<br>DTD Tutorial<br>DOM Tutorial<br>CSS2 Tutorial<br>
讲解如何入门PyTorch,包括基础原理知识、numpy与PyTorch的区别以及案例研究实例
信息来源于: <a href=...<a href=http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html>http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html</a>
CSS是Cascading Style Sheet 的缩写。译作「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。 你可以用以下三种方式将样式表加入您... color: black} --> </style> <body>