Struts入门 lldwolf [原作]

转载 2004年08月08日 15:13:00
  Struts入门
出处  

Struts学习笔记


需要的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,再逐渐往里加功能,代码如下所示:

  "" "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">     

在以下的步骤我们就可以看到,我们如些向这个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"); 

Struts入门 lldwolf [原作]

需要的Struts包 从网上下载Struts的压缩包后,解开,把lib子目录下的所有.jar文件复制到自己应用程序的lib目录下。当然,或许有些用不到,但全放进来最起码不会出错。 web.xml配置...
  • Inber
  • Inber
  • 2004-07-30 00:55:00
  • 603

Struts简单入门

本章主要讲解Struts2简单入门以及第一个Hello world程序的建立
  • peace1213
  • peace1213
  • 2016-02-18 09:46:54
  • 1727

struts 简单入门实践-demo

1.下载所需jar包 官网地址:struts官网地址  选择相应版本进行下载。 2.创建工程,引入jar包(eclipse)    选择创建一个 Dynamic Web project 勾选默...
  • u011982967
  • u011982967
  • 2017-02-19 20:12:10
  • 1490

我的速写新作

上次发的都是06年的画。。  这次来点新鲜的~~ 历史画册: http://blog.csdn.net/cuibo1123/archive/2008/11/27/3391174.aspx   1...
  • cuibo1123
  • cuibo1123
  • 2008-12-01 21:26:00
  • 1861

Struts快速学习指南

  • 2008年05月14日 12:56
  • 540KB
  • 下载

python经典教程

  • 2012年05月25日 00:41
  • 45.67MB
  • 下载

搭建好的一个struts2环境

  • 2008年11月03日 19:00
  • 3.22MB
  • 下载

struts2入门到精通教程

为什么要使用struts2以及Servlet的缺点servlet的缺点: 1、写一个servlet需要在web.xml文件中配置8行,如果一个系统中servlet很多,则会导致 we...
  • qq_28483283
  • qq_28483283
  • 2016-05-02 22:46:27
  • 11115

Struts1.3——Struts入门

本文介绍了struts的入门知识,通过手工配置实现一个struts项目介绍了struts的工作原理和流程...
  • ggGavin
  • ggGavin
  • 2016-06-21 20:48:50
  • 7502

Struts2入门示例教程

记录Struts2的入门过程,供大家参考。
  • wwwgeyang777
  • wwwgeyang777
  • 2014-02-11 15:49:38
  • 135772
收藏助手
不良信息举报
您举报文章:Struts入门 lldwolf [原作]
举报原因:
原因补充:

(最多只允许输入30个字)