|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
关于controller中的Action:(ActionServlet也是多线程的)
由于Action类是线程平安的,以是在使用程序中创立Action类的独一实例;Struts中利用lazySingleton,也就是先判别是不是存在实例,若不存在,则创立实例,且对创立实例的代码举行了Synchronization,从而包管统一时候只要一个线程能够创立Struts的实例。
除此以外,确保Action类不利用实例变量来存储客户独有的形态,关于客户的特有形态,应当在execute中
利用部分变量来保留。
Struts中大批利用了ResourceWrapper
道理能够如许描述:一切在资本实践在设置文件中指定,然后再内存中由一个类的实例来代表,如许要修正资本设置的话,只必要修正响应的.xml文件就能够了
ForExample:
config.ControllerConfig类----〉controller元素中设置的信息
ActionMapping----->action元素,个中findForward()--->findForwardConfig()是不是在举措级设定
forward,然后反省global-forward元素
ActionForward----->forward元素的;web资本的笼统,好比jsp页面和javaservlet
Action类应把营业逻辑托付给模子组件
actions包中有五个action类:
ForwardAction:实行一个到parameter中设置的uri的forward。
IncludeAction:能够用来完成RequestDispatcher中的include();但我不是很分明
DispatchAction:必要给出它的子类,为必要在服务上实行的每一个功效增加一个办法(必需DispatchAction挪用的Action类包括一个办法)在设置时必需界说parameter属性,它利用parameter的值决意挪用甚么办法
设法是把团结完成一个年夜功效的多个action类放在统一个类中
注重点:DispatchAction利用javaReflection来挪用准确的办法,可是这些办法必需为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也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的), |
|