- 浏览: 576001 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
ZT:http://blog.csdn.net/toyouheart/archive/2009/09/01/4509466.aspx status学习笔记及历程 第一讲: 1. 了解struts工作流程: 首先struts基于MVC模式, 用户发送的请求讲被ActionServlet处理,转发,但是它是怎样实现的了?? 实现原理: web.xml 配置: <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> ... ... </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> 上面描述*.do的url请求都会被ActionServlet接受. 完整配置讲解: /************************************************************* 1. web.xml web.xml文件对任何的Web项目都是一个必须的文件,使用Struts时,还需要对该文件进行一 些必须的配置。 1.1 ActionServlet的配置 一般需要在该文件中配置Struts的Servlet,示例配置如下: Eg1. 简单的Struts的ActionServlet的配置: <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> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> 对于复杂的应用,一般需要配置多个struts-config.xml文件,可以通过添加另外的 <init-param>来实现,或者在多个配置文件中以为“,”隔开,如下所示: Eg2. 配置多个struts-config.xml配置文件的ActionServlet的配置: <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> <init-param> <param-name>config/IVR</param-name> <param-value>/WEB-INF/struts-config-IVR.xml</param-v alue> </init-param> <init-param> <param-name>config/wap</param-name> <param-value> /WEB-INF/struts-config-wap.xml </param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> 1.2 欢迎和错误处理的配置 首先讲述一下欢迎文件清单<welcome-file-list>的配置,该元素可包含多个<welcome-file >子元素,当Web容器调用欢迎界面时,将首先查看第一个<welcome-file>子元素中定义的文 件是否存在,若存在,则将其返回给用户,若不存在,继续判断第二个<welcome-file>子元 素中定义的文件……,配置示例如下: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> 接着讲述一下在web.xml中如何配置错误处理,这时需要使用<error-page>元素,该 元素可以根据异常的类型来配置跳转的页面,还可以根据错误码来配置跳转页面,配 置示例如下: <!-- 根据错误码进行跳转--> <error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page> <!-- 根据异常进行跳转--> <error-page> <exception-type>java.lang.NullException</exception-type> <location>/error.jsp</location> </error-page> 1.3 tld文件的配置 若Web工程没有使用Struts的标签库,可以不在web.xml中使用Struts的标签库信息。当然若 开发人员使用了struts的标签库,也可以直接在jsp页面中引入标签库,例如通过如下方式引 入: <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested"%> 在Struts中进行配置的的好处是因为可以在Struts中配置为tld文件配置一个简要的 名称或者更加易懂的名称,例如在web.xml文件中增加如下配置: <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/struts-nested.tld</taglib-location> </taglib> 其中<taglib-uri>元素指定标签库的相对或者绝对URI地址,Web应用将根据这一URI 来访问标签库;<taglib-location>元素指定标签库描述文件在文件资源系统中的物 理位置。 此时在jsp页面通过如下方面引入标签库: <%@ taglib uri="/tags/struts-bean " prefix="bean"%> <%@ taglib uri="/tags/struts-html" prefix="html"%> <%@ taglib uri="/tags/struts-logic " prefix="logic"%> <%@ taglib uri="/tags/struts-nested " prefix="nested"%> 1.4 完整配置实例 下面举一个使用Struts的Web项目的web.xml的简单配置实例(该实例开发人员也参考struts -1.2.8-bin.zip包的webapps目录下的struts-mailreader.war),内容如下所示: <?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, /WEB-INF/struts-config-registration.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> <!-- 欢迎列表--> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 错误处理 --> <error-page> <exception-type>java.lang.Exception</exception-type> <location>/error.jsp</location> </error-page> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/struts-nested.tld</taglib-location> </taglib> </web-app> 2 .properties资源文件 默认情况下,Struts默认的资源文件为ApplicationResources.properties文件。 资源文件可为一个束,可针对不同的语言,写不同的资源文件,开发人员可以定义英文、简 体中文、繁体中文、日文等资源文件,资源文件的命名格式为:资源文件名_国别_语言.pro perties,常见的资源文件名称为: ApplicationResources.properties:默认资源文件,或英文资源文件 ApplicationResources_zh_CN.properties:简体中文 ApplicationResources_zh_TW.properties:繁体中文 每一个资源文件都是“键-值”对的集合,例如可在src目录下的资源文件Application Resources.properties中,编写如下内容: UserForm.userName = USERNAME UserForm.password = PASSWORD 同时在src目录下建立ApplicationResources_zh_CN.properties.bak文件来编写简体 中文的原始资源文件,内容如下: UserForm.userName = 用户名 UserForm.password = 密码 开发人员还可以建立ApplicationResources_zh_TW.properties.bak文件编写繁体中 文的原始资源文件。其内容如下: UserForm.userName = ノめ?W UserForm.password = ノめ?W 对于简体中文和繁体中文文件,开发人员还需要对其使用native2ascii工具对其进行 转换,将非ASCII码转换为Unicode编码,native2ascii工具在%JAVA_HOME%/bin目录 下的native2ascii.exe,因此若要进行这种转换,读者首先需要安装了该工具。安装 了该工具之后,进入其所在目录,运行native2ascii…命令可进行编码转换,为了能 在命令行直接使用该命令,读者还需要在系统变量PATH中添加路径:%JAVA_HOME%"b in。 在实际项目中,一般编写一个批处理文件(eg. code.bat)来处理资源文件的编码,例如code.bat为如下内容时,可满足要求将如上 的ApplicationResources_zh_CN.properties.bak文件进行编码,并将编码后的信息 放入ApplicationResources_zh_CN.properties文件中。该批处理文件的内容如下所 示: del ApplicationResources_zh_CN.properties copy ApplicationResources_zh_CN.properties.bak ApplicationResources_zh_CN.properties.gbk native2ascii -encoding GBK ApplicationResources_zh_CN.properties.gbk ApplicationResources_zh_CN.properties del ApplicationResources_zh_CN.properties.gbk del ApplicationResources_zh_TW.properties copy ApplicationResources_zh_TW.properties.bak ApplicationResources_zh_TW.properties.big5 native2ascii -encoding Big5 ApplicationResources_zh_TW.properties.big5 ApplicationResources_zh_TW.properties del ApplicationResources_zh_TW.properties.big5 del *.bak.bak 运行code.bat之后,可看到目录下多出了两个资源文件,即:ApplicationResource s_zh_CN.properties和ApplicationResources_zh_TW.properties。其中Applicatio nResources_zh_CN.properties的内容是经过编码的,内容如下: UserForm.userName = "u7528"u6237"u540d UserForm.password = "u5bc6"u7801 在jsp页面中,可以通过Struts的自定义标签来获取资源文件的某个键(例如:User Form.userName)的信息。示例如下: <bean:message key="UserForm.userName"/> **************************************************************/ 1.检索和用户请求匹配的Actionmapping(文件配置在struts-config.xml文件中),对于一个表单在文件中需要实现如下配置 <!-- 配置表单实体 --> <form-beans> <form-bean name="loginForm" type="com.youcompany.forms.LoginForm" /> </form-beans> 属性介绍: name="loginFrom" 对应JSP页面表单的name属性 type="com.youcompnay.forms.LoginForm" 对应该表单的处理类,该类集成struts的ActionForm可作验证,类型转换等功能, 负责将form包装成一个form对象 <!-- 表单处理及后期转换--> <action-mappings> <action path="/login" type="com.yourcompany.actions.LoginAction" name="loginForm" scope="request" input="/login.jsp" > <forward name="success" path="/menu.jsp"></forward> <forward name="fails" path="/login.jsp"></forward> </action> </action-mappings> 属性介绍 <action>部分是说明action的属性。Type 指定Action的类名,负责处理此次form表单请求的类 Name 指定Action主力的ActionForm名,与<form-beans >元素的name属性匹配。 Scope 指定ActionForm存在的范围, (request, application) Input 指定包含客户提交表单的网页,如果ActionForm的Validate方法返回错误,则因该把用户 请求转发到这个网页。 Validate 如果取值为true,则表示ActionServlet应该调用ActionForm的validate方法 Forward 就是Action的execute方法执行完毕后,把客户请求在转发给相应的页面。 总结,对于struts每一个form表单处理, 常见操作是建立如下的package com.yourcompany.forms 负责将表单包装成对象 com.youcompany.action 处理表单,调用其他组件实现业务逻辑,并负责处理之后的返回,显示 struts-config.xml 配置文件,ActionServlet将检查该配置,并实现流程串接. 2. 如果ActionForm实例不存在, 就创建一个ActionForm对象,把客户提交的表单保存到ActionForm对象中 总结: 自动创建的ActionForm主要实现表单字段的getter,setter方法, 如果表单字段需要转换成各种对象,其中涉及到类型转换的知识: struts的类型转换:?????? 3. 根据配置信息决定是否需要进行表单验证, 如果需要验证, 就调用ActionForm的validate()方法 ActionForm的Validate()方法, 这个很简单,你只需要在ActionForm的包装类中重写validate()方法即可,如果验证不成功,请返回 4. 如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功. 5. ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action, 如果Action实例不存在,就先创建这个实例, 然后调用Action的execute方法 6. Action的execute返回ActionForward对象,ActionServlet在把客户请求转发到ActionForward对象指向到JSP组件. 7. ActionForward对象指向的JSP组件动态生成网页,返回给客户. 第二讲: helloapp演示例子中掌握: 1. 分析应用需求 2. 实际操作MVC的struts框架. 3. 视图的创建 4. 资源文件application.properties资源文件的配置和作用 5. 数据合法性验证,表单事务逻辑处理 6. 控制器组件HelloAction.java(处理表单) 7. 模型组件: PersonBean.java 实体包装类 8. 模块贡献的java文件: Constants.java 9. web.xml, struts-config.xml配置 10. 编译,发布 1. 分析应用需求 通常就是你需要实现的业务功能,若注册,登录,订单 2. 实际操作MVC的struts框架. MVC构成: M(model) 包含PersonBean的JavaBean组件,提供属性的getter,setter方法,及其他方法 V(view) JSP, 提供界面设置,可直接用html标签,也可以用struts的tag-lib C(controller) HelloAction, 主要做: 1.业务逻辑验证, 2.调用模型组件 3.返回视图组件 配置文件: struts-config.xml 3. 视图的创建 Hello.jsp 代码: <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ page taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ page taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ page taglib uri="/WEB-INF/struts-login.tld" prefix="login" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html:html locale="true"> <head> <title><bean:message key="hello.jsp.title" /></title> <html:base /> </head> <body bgcolor="white"> <h2><bean:message key="hello.jsp.page.heading" /></h2> <p> <html:errors/> </p> </login:present> <html:form action="/HelloWorld.do" focus="userName"> <bean:message key="hello.jsp.prompt.person"/> <html:test property="userName" size="16" maxlength="16" /><br/> <html:submit property="submit" value="submit"/> <html:reset/> </html:form> </html:form><br/> <html:img page="/struts-power.gif" alt="Powered by Struts"/> </body> </html:html> 解释: struts标签库的加载 <%@ page taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ page taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ page taglib uri="/WEB-INF/struts-login.tld" prefix="login" %> web.xml 定义标签库代码: <taglib> <taglib-uri>/WEB-INF/nested.tld</taglib-uri> <taglib-location>/WEB-INF/nested.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <tadlib-uri>/WEB-INF/struts-bean.tld</tadlib-uri> </taglib> <taglib> <taglib-url>/WEB-INF/struts-html.tld</taglib-url> <taglib-location>/WEB-INF/struts-heml.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> 常见JSP标签解析: <html:errors>: struts框架产生的错误信息 <html:form> <html:text> <bean:message> <bean:write> 更多标签...... 4. 资源文件application.properties资源文件的配置和作用 Hello.jsp页面中使用了<bean:message>标签,这些key对应的就是application.properties里面配置好的信息段, 这些配置对实现 国际化有突出意义 hello.jsp.title=Hello~A first struts program hello.jsp.page.heading=Hello World!A first Status application .............. 5. 数据合法性验证,表单事务逻辑处理 LoginForm.java public ActionErrors validate(ActionMapping mapping, HttpServletRequest request){ ActionErrors errors = new ActionErrors(); if( (username == null) || (username.length() < 1)){ errors.add("usrename", new ActionMessage("hello.no.username.error")); return errors; } return null; } 6. 控制器组件HelloAction.java(处理表单) public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException 所有的表单Action通过验证之后,都会调用execute()方法, ActionMapping: 包含Action的配置信息和struts-config.xml文件中的action元素 ActionForm: 包含了用户表单数据信息 HttpServletRequest: 当前http请求对象 HttpServletResponse: 当前HTTP相应的对象 7. 模型组件: PersonBean.java 实体包装类 package com.imc.forms; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; public class LoginForm extends ActionForm{ private static final long serialVersionUID = 3348342323123L; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void reset(ActionMapping mapping, HttpServletRequest request){ this.password = password; this.username = null; } // public ActionErrors validate(ActionMapping mapping, HttpServletRequest request){ ActionErrors errors = new ActionErrors(); if( (username == null) || (username.length() < 1)){ errors.add("usrename", new ActionMessage("hello.no.username.error")); return errors; } return null; } } 8. 模块贡献的java文件: Constants.java public final class Constants{ public static final String PERSON_KEY = "personbean"; } 9. web.xml, struts-config.xml配置 参照上面 <message-resource parameter="hello.application" /> 指定资源文件的路径,也就是指定 WEB-INF/classes/hello/application.properties 10. 编译,发布 编辑打包war.. 总结: 服务器端执行表单验证流程如下: 1. servlet容器在web.xml文件中寻找<url-pattern>属性为*.do的<servlet-mapping>元素 <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> 2. servlet容器依据以上<servlet-mapping>元素的<servlet-name>属性action, 在web.xml文件中寻找匹配的<servlet>元素 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> </servlet> 3. servlet容器把请求转发到<servlet-class>, ActionServlet依据用户请求路径HelloWorld.do, 在struts配置文件中检索 path属性为/HelloWorld的action元素 <action path="/HelloWorld" type = "hello.HelloAction" name = "HelloForm" scope = "request" validate = true input = "/hello.jsp" 4 ActionServlet根据,action元素的name属性, 创建一个HelloForm对象, 把客户提交的表单数据传给HelloForm对象, 再把HelloForm对象保存再scope指定的request返回内 5 由于Action元素的validate属性为true, ActionServlet调用HelloForm对象的validate进行表单验证,事实上validate总是为true, 只要你重写了public ActionErrors validate(ActionMapping mapping, HttpServerRequest request) 都会验证表单
发表评论
-
eclipse codestyle和formate
2011-12-26 11:20 1056北京都乐宝软件信息技术公司的代码风格 -
Common-logging 与 Log4j的结合使用
2011-12-25 15:58 1203转自:http://hi.baidu.com/suofang/ ... -
ssh整合(转)
2011-09-06 14:50 1269终于,终于将SSH整合成 ... -
struts1例子
2011-08-27 22:16 1644最近一直再做struts2的项目,一年前做的struts1林业 ... -
struts异常处理机制
2011-08-22 23:11 1103在xwork中,package的定义中增加了global-ex ... -
struts.xml及default-action-ref详解
2011-08-22 17:54 2098我想实现访问一个acion时候,如果这个action不存在, ... -
struts1防止重复提交
2011-08-21 23:39 1053防止重复提交java解决 ( ... -
struts2防止重复提交
2011-08-08 14:42 1213本人负责全国林业行政执法人员管理系统,当时遇到了新增重复提交问 ... -
struts2的sruts-default.xml解释
2011-08-08 14:20 990这个文件是struts2框架默认加载的配置文件。它定义st ... -
struts.xml详解
2011-08-08 11:10 805<?xml version="1.0& ... -
Unable to find 'struts.multipart.saveDir' property setting.
2011-08-08 10:23 1608以前在项目中遇到Unable to find 'struts. ... -
struts2标签中限制文本域字数
2011-05-20 16:51 1590实现textarea限制输入字 ... -
实现textarea限制输入字数
2011-05-20 15:47 1030实现textarea限制输入字 ... -
struts2接收字符日期存到数据库
2011-05-18 10:54 1367模拟51job招聘网站出现的小插曲。 1、注册时候的信 ... -
struts2 JSON插件怪异的问题
2011-03-10 14:05 961private FenleiBizIntf fenleiBiz ... -
各种错误集锦(更新中。。。)
2011-03-01 21:32 937struts2中 根据一个条件查询表时候,如果数据库中没有此数 ... -
struts2的action中默认不会初始化属性,也不会实例化属性
2011-02-19 14:27 1617编写jdbc分页时易出现的马虎。 public St ... -
The Struts dispatcher cannot be found. This is usually caused by using Struts ta
2011-02-08 21:05 1210The Struts dispatcher canno ... -
STRUTS2返回类型
2010-12-26 01:40 816STRUTS2返回类型开始使用struts2的时候,想跳转到另 ... -
STRUTS2返回类型
2010-12-26 01:40 1040STRUTS2返回类型 开始使用struts2的时候,想跳转 ...
相关推荐
### Struts2与Struts1的主要区别 #### 控制器类设计差异 在Struts2框架下,控制器类的设计思路有了显著的变化。相比于Struts1中的控制器类,Struts2中的控制器类更像是一个简单的POJO(Plain Old Java Object),...
根据提供的文件信息,本文将围绕“Struts2学习心得”这一主题进行展开,重点解析Struits2框架中的国际化(i18n)功能及其在实际项目中的应用方式,并结合具体的代码示例进行深入探讨。 ### Struts2简介 Struts2是...
本文档主要详细介绍Struts1的具体实用,虽然Struts1技术略微过时,但是依旧经典,对于一些金融类老项目的运维还是非常实用,本文档为个人总结编写,仅仅记录是个人学习体会,请各位批评指正。
### Struts2学习心得:数据类型转换与校验方式 #### 一、Struts2框架简介 Struts2是基于MVC(Model-View-Controller)设计模式的Java Web开发框架,它为开发者提供了一种简洁高效的方式来构建复杂的Web应用程序。...
3. activiti学习笔记.docx:这是一份个人的学习笔记,可能记录了作者在研究和实践中遇到的问题及解决方案,对于学习者来说是一份宝贵的心得体会。 4. Activitiѧϰ.docx:这个文件名可能是笔误,但根据上下文,很...
1. **类型转换**:首先,Struts2框架使用类型转换器将HTTP请求中的字符串参数转换为相应的Java类型,如Integer、Date等,并将这些值设置为Action类的属性。 2. **异常处理与错误封装**:如果类型转换过程中遇到问题...
一个简单的spring+struts+ibatis整合的实例,实现了用户登录,用户登录成功则显示欢迎信息,失败则显示用户名或密码错误,该实例非常简单基础,特别适合新人学习,工程包含了必要的资源包,部署到服务器中及可运行,...
这篇博客可能是作者在实际项目中使用 Struts 1.3.8 版本时的心得体会,分享了如何利用该框架来构建应用,同时也可能涉及了某些工具的使用技巧。 Struts 作为 MVC(Model-View-Controller)设计模式的实现,核心在于...
Struts是Java Web开发中的一个经典框架,由...不断的学习和实践,使开发者能够对Struts有更深的理解,从而在日常工作中实现“新的体会”。通过持续的探索和优化,开发者可以更好地应对各种挑战,提升自己的技术水平。
struts1+spring2+ibatis2开发的用户登录案例 用简单的语言带你进入javaweb开发 体会实用ibatis开发带来的快乐 就是配置ibatis文件有点麻烦,但是配置好后,就会用得很爽 对于想学习的人来说,这是很好的一个案例
在"exam-platform"这个项目中,我们可以学习到如何将这三个框架有效地集成,构建一个完整的Web应用。这可能包括用户认证、权限管理、数据持久化、业务逻辑处理等多个方面。开发者可能分享了如何配置Struts2的action...
在学习这些案例的过程中,开发者不仅能了解各框架的基本用法,还能体会到它们之间的协同工作,理解如何在实际项目中合理地组织架构,提高开发效率。通过不断地实践和调试,可以深入理解每个组件的作用以及它们在整体...
实验报告——Struts2框架使用 一、实验目的 本次实验旨在深入理解Struts2框架在Java Web...未来的学习中,将进一步探索Struts2的高级特性和与其他技术的集成,如Spring和Hibernate,以提升整体开发效率和应用质量。
这是一套非常有用的网上书店(struts+hibernate+css+mysql)项目,大家可自行下载开发,里面有毕业设计相关论文,以及完整代码,大家可以参考学习得到自己的认知体会,总结学习方法,完善自己的项目
1. **MVC模式**:理解MVC架构的基本原理,如何在Struts中划分模型、视图和控制器,以及它们之间的协作方式。 2. **Struts配置**:学习struts-config.xml和web.xml的配置,了解Action类、ActionForm、ActionMapping的...
总的来说,学习《Struts in Action》可以让你掌握Struts框架的基本架构和高级特性,理解MVC模式在实际开发中的应用,同时通过DWR的使用,你可以为你的Struts应用增添更多交互性和实时性。这将对你的Java Web开发技能...