- 浏览: 65836 次
- 性别:
- 来自: 江西
最新评论
Struts学习笔记
http://topic.csdn.net/t/20040728/15/3218780.html
--------------------------------------------------------------------
需要的Struts包
从网上下载Struts的压缩包后,解开,把lib子目录下的所有.jar文件复制到自己应用程序的lib目录下。当然,或许有些用不到,但全放进来最起码不会出错。
web.xml配置文件
只要用Struts来搭建J2EE架构,web.xml的写法都差不多,我现在不用Struts的标签库,只用其最基本的功能,写法如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>Struts Example Application</display-name>
<!-- Action Servlet Configuration -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
也就是说所有以.do为后缀的请求都将发往org.apache.struts.action.ActionServlet,这个类包含在struts.jar中。 至于/WEB-INF/struts-config.xml,这是Struts用的配置文件,文件名和路径也可以由用户自定义,其实我写的这个是Struts的默认配置,即如果省略这个参数,Struts会自动把/WEB-INF/struts-config.xml作为配置文件,也可以指定多个配置文件,不同的配置文件以逗号","隔开。
struts-config.xml
我们由简到难,先做一个空的struts-config.xml,再逐渐往里加功能,代码如下所示:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<action-mappings>
</action-mappings>
</struts-config>
在以下的步骤我们就可以看到,我们如些向这个XML文件添加内容。其实空的文件连<action-mappings>也没有,但是这struts-config.xml里面最基本的标签,所以我先加进去了。
实现最简单的页面跳转
也就是说,我们要实现这么一个动作,它只是简单地从一个页面跳到另一个页面,功能和HTML页面中的静态链接完全一样。我们先在index.jsp中创建这么一个链接:
<a href="jump.do">点这里跳转到别的页面</a>
然后在struts-config.xml中的<action-mappings>标签中加入如下<action>标签:
<action path="/jump"
forward="/success.jsp">
</action>
OK,这个最简单的功能就实现了。其中,path属性表示客户端传来的链接请求,注意,这里并没有.do后缀。forward自然就是跳转的目标页面了。
使用Servlet
我们先实现一个最简单的Servlet,它只是返回一个字符串“Hello, I come back!”给客户端,其代码如下:
//UseServlet.java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
public class UseServlet extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
request.setAttribute("test_value", "Hello, I come back!");
return mapping.findForward("return");
}
}
Servlet必须是org.apache.struts.action.Action的子类并重载execute方法,execute方法返回一个org.apache.struts.action.ActionForward类,用于返回相应页面。在本例中我们使用mapping.findForward("return")来返回这个对象,至于字符串"return",过会儿你可看到,这是我们定义在struts-config.xml中的一个标识。
然后是定义struts-config.xml的<action-mappings>中的相应标签如下:
<action path="/servlet"
type="UseServlet"
scope="request">
<forward name="return" path="/servlet_test.jsp"/>
</action>
其中type属性表示要使用的Servlet,scopen表示有效范围,值得注意的是<forward>子标签,其中的name属性"return"和servlet最后的mapping.findForward()的参数一致。
最后在index.jsp相应的加入:
<a href="servlet.do">点这里使用Servlet</a>
使用数据库
我们可以直接在struts-config.xml中的<struts-config>中指定数据库连接,方式如下:
<data-sources>
<data-source>
<set-property property="autoCommit"
value="false"/>
<set-property property="description"
value="Example Data Source Configuration"/>
<set-property property="driverClass"
value="sun.jdbc.odbc.JdbcOdbcDriver"/>
<set-property property="maxCount"
value="4"/>
<set-property property="minCount"
value="2"/>
<set-property property="password"
value=""/>
<set-property property="url"
value="jdbc:odbc:test"/>
<set-property property="user"
value=""/>
</data-source>
</data-sources>
本例中我使用的是JDBC-ODBC数据库连接,你需要事先建一个名为test的ODBC连接。然后你就可以在Servlet中以如下方式得到数据库连接:
javax.sql.DataSource dataSource = getDataSource(request);
java.sql.Connection conn = dataSource.getConnection();
你可以在</data-sources>中定义多个数据库连接,例如:
<data-sources>
<data-source key="A">
... properties as before ...
</data-source>
<data-source key="B">
... properties as before ...
</data-source>
...
</data-sources>
然后以如下方式取得数据库连接:
dataSourceA = getDataSource(request, "A");
dataSourceB = getDataSource(request, "B");
http://topic.csdn.net/t/20040728/15/3218780.html
--------------------------------------------------------------------
需要的Struts包
从网上下载Struts的压缩包后,解开,把lib子目录下的所有.jar文件复制到自己应用程序的lib目录下。当然,或许有些用不到,但全放进来最起码不会出错。
web.xml配置文件
只要用Struts来搭建J2EE架构,web.xml的写法都差不多,我现在不用Struts的标签库,只用其最基本的功能,写法如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>Struts Example Application</display-name>
<!-- Action Servlet Configuration -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
也就是说所有以.do为后缀的请求都将发往org.apache.struts.action.ActionServlet,这个类包含在struts.jar中。 至于/WEB-INF/struts-config.xml,这是Struts用的配置文件,文件名和路径也可以由用户自定义,其实我写的这个是Struts的默认配置,即如果省略这个参数,Struts会自动把/WEB-INF/struts-config.xml作为配置文件,也可以指定多个配置文件,不同的配置文件以逗号","隔开。
struts-config.xml
我们由简到难,先做一个空的struts-config.xml,再逐渐往里加功能,代码如下所示:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<action-mappings>
</action-mappings>
</struts-config>
在以下的步骤我们就可以看到,我们如些向这个XML文件添加内容。其实空的文件连<action-mappings>也没有,但是这struts-config.xml里面最基本的标签,所以我先加进去了。
实现最简单的页面跳转
也就是说,我们要实现这么一个动作,它只是简单地从一个页面跳到另一个页面,功能和HTML页面中的静态链接完全一样。我们先在index.jsp中创建这么一个链接:
<a href="jump.do">点这里跳转到别的页面</a>
然后在struts-config.xml中的<action-mappings>标签中加入如下<action>标签:
<action path="/jump"
forward="/success.jsp">
</action>
OK,这个最简单的功能就实现了。其中,path属性表示客户端传来的链接请求,注意,这里并没有.do后缀。forward自然就是跳转的目标页面了。
使用Servlet
我们先实现一个最简单的Servlet,它只是返回一个字符串“Hello, I come back!”给客户端,其代码如下:
//UseServlet.java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
public class UseServlet extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
request.setAttribute("test_value", "Hello, I come back!");
return mapping.findForward("return");
}
}
Servlet必须是org.apache.struts.action.Action的子类并重载execute方法,execute方法返回一个org.apache.struts.action.ActionForward类,用于返回相应页面。在本例中我们使用mapping.findForward("return")来返回这个对象,至于字符串"return",过会儿你可看到,这是我们定义在struts-config.xml中的一个标识。
然后是定义struts-config.xml的<action-mappings>中的相应标签如下:
<action path="/servlet"
type="UseServlet"
scope="request">
<forward name="return" path="/servlet_test.jsp"/>
</action>
其中type属性表示要使用的Servlet,scopen表示有效范围,值得注意的是<forward>子标签,其中的name属性"return"和servlet最后的mapping.findForward()的参数一致。
最后在index.jsp相应的加入:
<a href="servlet.do">点这里使用Servlet</a>
使用数据库
我们可以直接在struts-config.xml中的<struts-config>中指定数据库连接,方式如下:
<data-sources>
<data-source>
<set-property property="autoCommit"
value="false"/>
<set-property property="description"
value="Example Data Source Configuration"/>
<set-property property="driverClass"
value="sun.jdbc.odbc.JdbcOdbcDriver"/>
<set-property property="maxCount"
value="4"/>
<set-property property="minCount"
value="2"/>
<set-property property="password"
value=""/>
<set-property property="url"
value="jdbc:odbc:test"/>
<set-property property="user"
value=""/>
</data-source>
</data-sources>
本例中我使用的是JDBC-ODBC数据库连接,你需要事先建一个名为test的ODBC连接。然后你就可以在Servlet中以如下方式得到数据库连接:
javax.sql.DataSource dataSource = getDataSource(request);
java.sql.Connection conn = dataSource.getConnection();
你可以在</data-sources>中定义多个数据库连接,例如:
<data-sources>
<data-source key="A">
... properties as before ...
</data-source>
<data-source key="B">
... properties as before ...
</data-source>
...
</data-sources>
然后以如下方式取得数据库连接:
dataSourceA = getDataSource(request, "A");
dataSourceB = getDataSource(request, "B");
发表评论
-
java的进度条
2009-07-05 16:36 1515package com.jkds.sxltquery. ... -
ChartDirector开发实例
2009-06-20 00:07 3121http://www.iteye.com/topic/410 ... -
jdk,tomcat环境变量配置[转]
2009-04-14 16:04 1310jdk,tomcat环境变量配置[转] 比如:jdk目录: ... -
java中解析xml
2008-11-06 17:10 2243public class Test { public ... -
Struts 项目中web.xml文件配置
2008-03-22 13:58 3282http://blog.csdn.net/songqiu/ar ... -
list 与数组的转换,关系
2008-02-20 16:21 1362=====list 与数组的转换 List--》数组 ... -
split()函数----分隔字符串的函数
2008-02-19 09:34 1024String str = "true|false&q ... -
WEB开发技术比较(PHP和Java的Web开发--转locoray)
2007-09-13 16:34 1239WEB开发技术比较 ... -
java试题
2007-08-24 11:03 1109第一,谈谈final, f ... -
java基础问答
2007-08-24 10:18 1122一、基础问答 1.下面哪些类可以被继承? java.lan ... -
java心得
2007-08-24 09:41 1212类变量:就是相同类都 ... -
Java程序员的推荐阅读书籍(转robbin)--收藏篇
2007-08-23 09:38 1300《Java程序员的推荐阅读书籍》 JavaEye (http: ... -
Java学习从入门到精通(转robbin )--收藏篇
2007-08-23 09:11 951Java Learning Path (一)、 ...
相关推荐
### Struts学习笔记详解 #### 一、Struts框架概览与编码设置 在学习Struts框架时,首要关注的是其编码配置。如代码片段所示,`struts.i18n.encoding`常量被设置为`UTF-8`,这确保了国际化(I18N)资源文件的正确...
在本“Struts学习笔记(四)”中,我们将会深入探讨Struts框架的核心概念、工作原理以及如何实际运用到项目开发中。 首先,Struts框架的核心目标是提供一个结构化的开发环境,将业务逻辑、数据处理和用户界面有效地...
博客文章"Struts学习笔记之ActionForm - xiaodaoxiaodao——蓝小刀的自言自语 - BlogJava.mht"可能包含更深入的实践示例和经验分享,包括如何处理ActionForm的生命周期、动态Form Beans、国际化等话题。通过阅读这篇...
### Struts 学习笔记(4):深入理解 OGNL 表达式与 Struts2 标签 #### 一、OGNL 表达式简介 **OGNL**(Object Graph Navigation Language)是一种功能强大的表达式语言,在 Struts2 框架中扮演着非常重要的角色。...
入门级的struts,适合新手入门
Struts是Java EE平台上的一款流行开源MVC框架,...学习Struts不仅有助于理解MVC模式,也能为其他类似的Web框架打下坚实的基础。通过深入研究和实践,开发者可以充分利用Struts的特性,构建出高效、稳定的Web应用程序。
Struts是Apache软件基金会下的一个开源框架,主要应用于Java Web应用程序的开发,它提供了一种组织应用程序代码的方式,使得开发者可以更有效地构建基于MVC(Model-View-Controller)架构的Web应用。JfreeChart则是...
Struts是一个开源的JavaEE框架,它主要用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。Struts的出现旨在简化使用Servlets和JSP开发可...学习Struts有助于开发者更有效地构建和管理大型的JavaEE项目。