Struts入门 lldwolf [原作]
来源:互联网 发布:acv漫画阅读软件 编辑:程序博客网 时间:2024/04/30 17:48
| ||||
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,再逐渐往里加功能,代码如下所示: <?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"); |
- Struts入门 lldwolf [原作]
- Struts入门 lldwolf [原作]
- 钓鱼入门(原作)
- ADO数据库编程入门 liandong(原作)
- 终于实现Struts的数据源连接了 gotoidea [原作]
- Struts 1.2.1新特点简介(1) kui [原作]
- Struts 入门
- Struts入门
- Struts入门
- Struts入门
- struts 入门
- Struts入门
- struts入门
- struts入门
- Struts入门
- Struts入门
- Struts 入门
- Struts入门
- 带图片的,多列的DropDownList的实现
- Guide to Linux Archive Utility Mastery
- Subversion
- 2004.08.08,Sun - 华北理工大学??
- VB.NET中得到计算机硬件信息
- Struts入门 lldwolf [原作]
- 简介使用ASP.NET访问Oracle数据库的方法
- SCJP一些笔记 hanic [原作]
- 昨夜,遭遇强奸
- Qtopia2交叉编译过程详解
- 在Sun ONE Application Server Platform Edition 8中如何建立SQL Server的连接
- 小议ADO.NET中的自动增量列
- Installing 10g on HPUX on A9000/800--->Day 1, Preparation
- 欢迎光临扬州刘东的BLog