网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java语言编码规范 选择自 hk_von.
.Java SE 6 入门之脚本引擎加大程.
.Java编程基础:EJB专用术语的详细.
.java国际化基础知识.
.J2EE编程起步(3).
.在Java SE中使用Hibernate处理数.
.JFC/Swing活学活用JLabel文字魔法.
.使用 Translator 模式构建更好的.
.Java高级日期概念三.
.JAVA的入门基础一些精典.
.程序员生活 J2EE学习者值得研究的.
.在JAVA中连接Sybase数据库的例子.
.你真的掌握J2SE了么-J2SE学习标.
.用JBuilder7开发一个简单的J2EE .
.Tomcat 配置技巧精华详解分析.
.Java应用程序中的按值传递语义以.
.技术分析:使用Eclipse进行SWT编程.
.封装JNDI操作LDAP服务器的工具类.
.spring + hibernate 数据话持久层.
.J2EE宠物商店 (1).

Struts Controller

发表日期:2008-1-5



  Struts Controller

关于controller中的Action:(ActionServlet也是多线程的)
因为Action类是线程安全的,所以在应用程序中创建Action类的唯一实例;Struts中使用lazy Singleton,也就是先判定是否存在实例,若不存在,则创建实例,且对创建实例的代码进行了Synchronization,从而保证同一时刻只有一个线程可以创建Struts的实例。
除此之外,确保Action类不使用实例变量来存储客户特有的状态,对于客户的特有状态,应该在execute中
使用局部变量来保存。
Struts中大量使用了Resource Wrapper
原理可以这样形容:所有在资源实际在配置文件中指定,然后再内存中由一个类的实例来代表,这样要修改资源配置的话,只需要修改相应的.XML文件就可以了
For Example:
config.ControllerConfig类 ----〉controller元素中配置的信息
ActionMapping-----> action元素,其中findForward()--->findForwardConfig()是否在动作级设定
forward,然后检查global-forward元素
ActionForward----->forward元素的;web资源的抽象,比如jsp页面和Java servlet

Action类应把业务逻辑委托给模型组件
actions包中有五个action类:
ForwardAction:执行一个到parameter中配置的uri的forward。
IncludeAction:可以用来实现RequestDispatcher中的include();但我不是很清楚
DispatchAction:需要给出它的子类,为需要在服务上执行的每个功能添加一个方法(必须DispatchAction调用的Action类包含一个方法)在配置时必须定义parameter属性,它使用parameter的值决定调用什么方法
想法是把联合完成一个大功能的多个action类放在同一个类中
注重点:DispatchAction使用java Reflection 来调用正确的方法,但是这些方法必须为public
LookupDispatchAction:是DiapatchAction的子类,但是使用请求参数值,利用参数值反向查询资源邦定,并将其与类中的方法进行匹配
SwitchAction:支持从一个应用程序模块切换到另一个
两个参数:page(目的地)和prefix(源)

Struts中的实用类:
util中
RequestUtils:线程安全的,没有实例变量,且其中所有方法均为static的。协助处理一个请求
ResponseUtils:协助建立一个响应
beanutils中:
BeanUtils:populate():使用key/value映射,把data装入JavaBean中;
:getProperty():返回property的string表示
:getArrayProperty():string数组
PropertyUtils:getProperty():返回属性的值,不改变属性的类型。
commons:
FastHashMap:多线程的,是HashMap的子类,有slow和fast两种模式
上一篇:评论:Java应用热遍全球 人气:553
下一篇:sql命令:导入导出 人气:885
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐