其实struts就是一个能接受和转换数据的框架结构。基本功能会用就行了, 标签还不常用呢
解决方案 »
- hibernate hql查询语句问题;
- spring配置ibatis时总是出错!
- spring job不能随tomcat启动运行?????
- I/O Error reading
- 怎么获得本机的多个文件名?
- 新手求教,初学JSP出现HTTP Status 500错误,我用的是myeclipse连接oracle数据库
- 请问一个系统如何统计不同类型用户且满足一定条件的在线人数??
- 有没有谁部署过j2eetutorial\bank中的例子?
- 请帮我解决一下昨晚的问题,加一百分,up也得分,因为我把代码贴上去,用了三贴子,自己不能再up了
- JBuilder7+Weblogic7+SQLServer2000的一个简单问题!
- java 数据源的问题
- 用ibatis查找数据时怎么传入多个参数,或者传入数组?
多多写就OK了。
感觉Struts还是比较容易理解的。
struts是mvc的实现的一样框架!
就是模型,视图和控制!
你新建一个jsp就是一个视图,在建form和action,这两个联系是系统自动做的.之间的关系就是在struts_config.xml中
form就是接收表单数据,做简单的数据验证(比方:数据为空在等)
action中就是做负责验证,做页面跳转(mapping.findforward()方法)
struts 咋个是来整人的呢,呵呵
struts 我觉得这个框架的确给我们减少了很多的编码,很方便
其实我也是struts入门不久,但是现在我能用struts+ejb写一个简单的交易网站
相信lz 不比我笨
所以lz 应该很快就学的会struts
其实我觉得 struts最快的学习发就是看明白struts-config.xml文档
只要明白了这个 在围绕这个中心,你就很快学会struts
你可以把actionform 看作一个简单的Javabean
action 可以看作一个 servlet
他们之间的交流机制是由框架写好了的
所以对于他们的工作机制来说,我觉得就没必要了解那么详细,毕竟现在找工作最重要!~~~
你只要明白servlet和javabean的工作机制,然后想办法把他们结合起来
这样其实你也就算struts入门了
然后再结合着那个.xml配置文档,参考一些基础的书籍,这样,就算完全入门了
如果想做到运用自如
最重要的是 在上一步的基础上找一点适合自己的struts 源码来理解,在在这个基础上去构思自己的struts项目
这样相信你能很快上手struts
最后我付一点我上次给人家写的关于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> //这里配置的8个元素不能颠倒顺序<!--==========1、data-sources=========================================-->
<!—开始定义一个数据源,定义后就可以对这个数据源进行访问.这里struts采用的数据源的方式是连接池-->
<data-sources> //可以在data-source中定义多个数据源
<data-source key="dataSource" type="dataSourceDB" > //这里key 指数据源名称,type 指实现数据源的类
<set-property property="driverName" value="sun.jdbc.odbc.JdbcOdbcDriver"/>
<set-property property="url" value="jdbc:odbc:ques"/>//这个元素定义了一个属性名称和属性值
</data-source>
<!—这里可以设置更多的data-source-->
</data-sources>
<!-- ========== 2、Form Bean Definitions ================================ -->
<!-- FormBean是struts的一个概念,本质是JavaBean,用来自动存储页面表单中各个域的值,并在适当的时候回填表单域,不需要象传统那样request.getParameter("frdName");,常被action-mappings中的action 使用 -->
<form-beans>
<form-bean name="regForm" type="form.RegForm"/>
//name用来标识actionFormbean,以后对这个ActionFormbean的引用就用这个名字
//type 用来表示这个ActionFormbean对应实现的类.这里的类对应名为regform,对应的类为form.regform也可以简单的认为 这里的类就是路径+文件名
<!—这里可以设置更多的form-bean-->
</form-beans>
<!--===========3、全局异常处理 global-exception==========================-->
<global-exceptions>
<exception type="java.sql.SQLException"
key="error.regFalse"
scope="request"
path="/public/error.jsp"/>
<!—下面可以配置更多-->
</global-exceptions>
属性 值 说明
Key 自定义 用来表示异常,通过key值,可以在资源文件中找到对应异常的详细信息.资源文件就是那个*.porperties文件
Path 自定义 表示异常发生时,将异常消息转发的路径
Scope 这里通常为request 异常存放的范围
Type 自定义类或Java异常类 需要处理异常类的名字
用例说明:假如用户注册时发生了sql异常时
Struts 控制器捕获到了这个异常
在struts-config.xml文件里找到这个异常相对应的key
根据key在资源文件中找到自定义的异常消息,<这里可以直接是java的异常>
将异常消息转发到异常处理页面/pubic/error.jsp,并且显示出来
<!-- ==========4、 Global Forward Definitions =========================== -->
<!--这里存放整个系统都可以使用的全局转向中转(Forward)地址 -->
<!-- 一般情况下,一个Action处理完毕后,会转发到一个JSP页面进行显示。这也是JSP中的MVC的实现的要点。-->
<global-forwards>
<!--failed.do和success.do将被当成servlet请求,到action-mappings中寻找对应的action处理。-->
<forward name="success" path="/success.do"/>
<forward name="fail" path="/fail.do"/>
</global-forwards> 属性 值 说明
Name 自定义 对转发的标示,可以自定义标签的类容 如:”success”
Redirect Boolean型 属性为true 则表示要执行重定向操作,此时存储在httpServletRequest中的数据将丢失,属性为false表示执行转发操作
Path 自定义 表示转发路径<!-- ==========5、 Action Mapping Definitions =========================== -->
<!--web.xml中后缀为.do的请求被转到这里处理。这里相当于struts的Model部分,Model部分是struts中比较灵活的地方。-->
<action-mappings>
<!--处理regAction.do的请求,使用的FormBean是regForm,既form.RegForm类,当处理过程发生错误时将返回index.jsp-->
<action path="/regAction" type="action.RegAction" name="regform" scope="request" input="/index.jsp" />
<action path="/success" forward="/success.jsp"/>
<action path="/fail" forward="/error.jsp" />
<forward path=”/welcome.jsp” name=”success” />//和全局跳转一样假如执行成功,并且从action里面的return mapping.findforward(“success”)的值为success就跳转到welcome.jsp
<forward path=”/failure.jsp” name=”failure” />
</action-mappings> 属性 值 说明
Path 自定义 制定访问action的路径.要和页面action请求的内容相同,但是不包括”.do”且必须以”/”开始
Name 自定义 表示和请求表单对应的actionFormBean.用<form-bean>元素的name值来表示,因此这里对应的 formbean就的先定义
Scope Request或session Actionformbean请求范围,默认为session
Input 自定义 当验证表单错误是跳转的路径
Type 自定义 对请求处理的类的完整路径,这个类由用户自定义
validate Boolean型 是否调用struts中的validate()方法.默认为true
<!--=============6、配置控制类controller元素==========================-->
<controller contentType="text/html;charset=UTF-8" locale="true" processorClass=""/>
属性 值 说明
Content Type 根据内容类型和字符编码选择 表示响应结果的内容型和字符编码,当在jsp页面中设置了内容类型或字符编码时,会覆盖本设置
Locale Boolean型 指定是否将locale对象保存在当前session中,默认为false
Processorclass 自定义或默认类 制定处理请求的Java类的完整类名<!--==========7、配置资源文件====================================-->
<message-resources parameter="org.reg.ejb3.ApplicationResources"/>
//这里的message-resource有个key属性,key代表资源文件的标示,一般不用
//parameter代表资源文件的路径这个我们经常用,<上次的多国语言的登录>这个文件的扩展名为*.properties,而且这个文件可以自行配置
//自行配置中文资源文件方法:
在reg_zh.properties中写入自定义错误如
Usernameunll=”没有输入用户名!”
Passwordnull=”没有输入密码”
然后我们用java命令将reg_zh.properties转换成ascii码
命令如下
首先将cmd定位到reg_zh.properties文件夹下
用Java命令
Native2ascii reg_zh.properties reg.properties
这样我们就只需要调用reg.properties.
<!--========配置插件 plug-in========================-->
<plug-in className="">
<set-property property="" value=""/>
</plug-in>
//<plug-in>元素属性 className用来表示插件对应的实现类
//对于插件这个元素,我不是很了解.
</struts-config>