J2EE MVC with Webwork2 Xwork, to J2EE MVC with Webwork2 Xwork
|
|
|
- 仑 孔
- 7 years ago
- Views:
Transcription
1 MVC with Webwork2 Xwork
2 Action...1 ActionContext...3 ActionProxyFactory Factory...4 ActionProxyFactory Proxy AOP...7 XworkInterceptor...8 Interceptor...9 LoginAction...10 LoginInterceptor...12 Action Result ActionChainResult...14 EL OGNL...16 OGNL List Array Map...21 (projection,selection)...22 MVC ValueStack...24 OgnlValueStack...24 ActionContext OgnlStackValue...26 Interceptor...26 ParametersInterceptor staticparametersinterceptor...26 ChainingInterceptor...26 ModelDrivenInterceptor...26 ValidationInterceptor Xwork...26 AOP EL...26 XWork...26 Xwork+Hessian...27
3 Model2 MVC WebWork Command Xwork XWork WebWork1 Webwork2 Web - WebWork - JPublish - OSWorkFlow - AOBao Ivory Xwork WebWork Type MVC Xwork WebWork Action Xwork Xwork Action public interface Action extends Serializable { public static final String SUCCESS = "success"; public static final String NONE = "none"; public static final String ERROR = "error"; public static final String INPUT = "input"; public String execute() throws Exception; String execute,execute Action public class SignupAction implements Action { private UserService userservice; private String username; private String password; private String confirm; private String ; public String execute() throws Exception { getuserservice().createuser(username, password, ); return SUCCESS; private UserService getuserservice() { if(userservice == null) 1
4 userservice = new MemoryUserService(); return userservice; set get SignupAction Action Action Struts Action Action Web Hessian TestCase public void testcreateuser() throws Exception { SignupAction action = new SignupAction(); action.setusername("test"); action.set ("[email protected]"); action.setpassword("1234"); action.setconfirm("1234"); String result = action.execute(); assertequals(result,action.success); SideBar: l TestCase main System.out.println println TestCase assert TestCase public void testcreateuser() throws Exception { SignupAction action = new SignupAction(); action.setusername("test"); action.set ("[email protected]"); action.setpassword("1234"); action.setconfirm("1234"); String result = action.execute(); assertequals(result,action.success); User TDD User user = action.getuser(); 2
5 assertequals("test",user.getusername()); ActionContext Action WebWork SignupAction WebWork Action action execute WebWork action SignupAction Web Webwork HtteRequest username action Action execute struts : public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForm HttpServletRequest HttpServletResponse, Action Action Form Xwork ActionContext import com.opensymphony.xwork.actioncontext;... ActionContext ac = ActionContext.getContext(); ActionContext Map WebWork action Action ActionContext getcontext : public static ActionContext getcontext() { ActionContext context = (ActionContext) actioncontext.get(); if (context == null) { OgnlValueStack vs = new OgnlValueStack(); context = new ActionContext(vs.getContext()); setcontext(context); 3
6 return context; actioncontext ThreadLocal Action ActionContext Action ActionContext execute FormBean ActionContext Action ActionContext ActionProxyFactory Factory Action ActionContext ActionContext Factory ActionProxyFactory. public void testcreateuserwithproxyfactory() throws Exception { Map params = new HashMap(); params.put("username", "test"); params.put(" ", "[email protected]"); params.put("password", "1234"); params.put("confirm", "1234"); Map context = new HashMap(); context.put(actioncontext.parameters, params); Xwork ActionProxyFactory factory = ActionProxyFactory.getFactory(); ActionProxy proxy = factory.createactionproxy("", "signup", context); proxy.execute(); SignupAction action = (SignupAction) proxy.getaction(); String result = action.execute(); assertequals(result, Action.SUCCESS); Map Action JavaBean key value Map ActionContext.PARAMETERS Context. factory.createactionproxy ActionProxy 4
7 map Action ActionContext JUnit java.lang.exception: Could not open file xwork.xml Action createactionproxy Xwork xwork.xml signup Action xwork.xml classpath xwork.xml <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" " <xwork> <package name="default"> <action name="signup" class="org.erptao.flex.book.xwork.signupaction"> </action> </package> </xwork> package signup org.erptao.flex.book.xwork.signupaction.! action execute public String execute() throws Exception { Map params = username = ActionContext.getContext().getParameters(); (String) params.get("username"); password = (String) params.get("password"); = (String)params.get(" "); getuserservice().createuser(username, password, ); return SUCCESS; public void testcreateuserwithproxyfactory() throws Exception { Map params = new HashMap(); params.put("username", "test"); params.put(" ", "[email protected]"); params.put("password", "1234"); params.put("confirm", "1234"); Map context = new HashMap(); context.put(actioncontext.parameters, params); 5
8 ActionProxyFactory factory = ActionProxyFactory.getFactory(); ActionProxy proxy = factory.createactionproxy("", "signup", context); String result = proxy.execute(); SignupAction action = (SignupAction) proxy.getaction(); assertequals(result, Action.SUCCESS); User user = action.getuser(); assertequals("test", user.getusername()); assertequals("[email protected]",user.get ()); TestCase Xwork execute setusername,setpassword ActionContext execute : public String execute() throws Exception { getuserservice().createuser(username, password, ); return SUCCESS; Xwork Action Bean factory struts FormBean Action SignupAction execute public String execute() throws Exception { Map params = username = ActionContext.getContext().getParameters(); (String) params.get("username"); password = (String) params.get("password"); confirm = (String) params.get("confirm"); = (String)params.get(" "); if(password==null confirm==null!password.equals(confirm)) { throw new Exception("password not set or confirm!= password"); getuserservice().createuser(username, password, ); 6
9 return SUCCESS; Action Factory factory Bean execute factory execute profiling factory AOP ActionProxyFactory Proxy AOP [XXX ]AOP xwork.xml signupaction ParametersInterceptor <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" " <xwork> <package name="default"> <interceptors> <interceptor name="params" class="com.opensymphony.xwork.interceptor.parametersinterceptor"/> </interceptors> <action name="signup" class="org.erptao.flex.book.xwork.signupaction"> <interceptor-ref name="params"/> </action> </package> </xwork> xwork.xml <interceptors> <interceptor name="params" class="com.opensymphony.xwork.interceptor.parametersinterceptor"/> <interceptors> package action inteceptor interceptor interceptor stack 7
10 action interceptor interceptor Interceptor Xwork signup execute TestCase XworkInterceptor Interceptor J2EE Interceptor javax.serlet.filter JBoss Interceptor Interceptor AOP AspectJ Interceptor AOP Xwork Interceptor Action execute execute execute execute Xwork Interceptor Interceptor public interface Interceptor { void init(); void destroy(); String intercept(actioninvocation invocation) throws Exception; init interceptor Interceptor destroy interceptor intercept Intercept String action excute String Interceptor action ActionInvocation public interface ActionInvocation extends Serializable { Action getaction(); boolean isexecuted(); ActionContext getinvocationcontext(); ActionProxy getproxy(); Result getresult() throws Exception; String getresultcode(); OgnlValueStack getstack(); void addpreresultlistener(preresultlistener listener); String invoke() throws Exception; :Invoke(). Interceptor Interceptor 8
11 Interceptor Intercetor 1 Interceptor Interceptor Interceptor Xwork Action 2 Interceptor Action AOP Before Around After Interceptor XWork AroundInterceptor AroundInterceptor execute invoke Xwork AroundInterceptor Action public abstract class AroundInterceptor implements Interceptor { public void destroy() { public void init() { public String intercept(actioninvocation invocation) throws Exception { String result = null; before(invocation); result = invocation.invoke(); after(invocation, result); return result; protected abstract void after(actioninvocation dispatcher, String result) throws Exception; protected abstract void before(actioninvocation invocation) throws Exception; AroundInterceptor before After After result, result. Interceptor 9
12 LoginAction Authenticator public interface Authenticator { boolean login(string username,string password); public class DefaultAuthenticator implements Authenticator { private UserService userservice;; /** * */ public DefaultAuthenticator(UserService userservice) { this.userservice = userservice; // TODO Auto-generated constructor stub public boolean login(string username, String password) { User user = userservice.getuserbyname(username); if(user == null) return false; if(user.getpassword()==null) { return password==null; else { return user.getpassword().equals(password); UserService IoC protected void setup() throws Exception { service = new MemoryUserService(); service.createuser("zhansan","123","[email protected]"); public void testlogin() throws Exception { Map params = new HashMap(); params.put("userservice",service); 10
13 params.put("username", "syy"); params.put("password", "123"); Map context = new HashMap(); context.put(actioncontext.parameters, params); ActionProxyFactory factory = ActionProxyFactory.getFactory(); ActionProxy proxy = factory.createactionproxy("", "login", context); String result = proxy.execute(); assertequals(result, Action.SUCCESS);,setup UserService testlogin params.put("userservice",service); params.put("username", "syy"); params.put("password", "123"); userservice public class LoginAction implements Action { private String username; private String password; private Authenticator authenticator; /* (non-javadoc) com.opensymphony.xwork.action#execute() */ public String execute() throws Exception { Map params = ActionContext.getContext().getParameters(); username = (String) params.get("username"); password = (String) params.get("password"); UserService service = (UserService) params.get("userservice"); if(getauthenticator(service).login(username,password)) return SUCCESS; else return ERROR; public Authenticator getauthenticator(userservice service) { 11
14 if(authenticator==null) { authenticator = new DefaultAuthenticator(service); return authenticator; assertequals(result, Action.SUCCESS); assertequals(result, Action.ERROR); params = new HashMap(); params.put("userservice",service); params.put("username", "zhansan"); params.put("password", "123"); context = new HashMap(); context.put(actioncontext.parameters, params); proxy = factory.createactionproxy("", "login", context); result = proxy.execute(); assertequals(result, Action.SUCCESS); User user = service.getuserbyname("zhansan"); asserttrue(user.getlastlogintime()>=beforetime); asserttrue(user.getlastlogintime()<=system.currenttimemillis()); LoginInterceptor LoginInterceptor public class LoginInterceptor extends AroundInterceptor{ protected void after(actioninvocation dispatcher, String result) throws Exception { ActionContext context = dispatcher.getinvocationcontext(); Map params = context.getparameters(); String username = (String) params.get("username"); UserService service = (UserService) params.get("userservice"); User user = service.getuserbyname(username); 12
15 if(user!=null) user.setlastlogintime(system.currenttimemillis()); /* (non-javadoc) com.opensymphony.xwork.interceptor.aroundinterceptor#before(com.opens ymphony.xwork.actioninvocation) */ protected void before(actioninvocation invocation) throws Exception { // TODO Auto-generated method stub,interceptor ActionInvocation ActionContext xwork <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" " <xwork> <package name="default"> <interceptors> <interceptor name="login" class="org.erptao.flex.book.xwork.logininterceptor"/> </interceptors> <action name="login" class="org.erptao.flex.book.xwork.loginaction"> <interceptor-ref name="login"/> </action> </package> </xwork> TestFirst Interceptor Interceptor TDD TestCase Interceptor Interceptor 13
16 Action Result ActionChainResult Action execute Interceptor MVC C C action Action execute String Xwork string Xwork String Xwork.xml Result Result execute SignupAction ActionChainResult <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" " <xwork> <package name="default"> <result-types> <result-type name= chain class= com.opensymphony.xwork.actionchainresult /> </result-types> <action name="signup" class="org.erptao.flex.book.xwork.signupaction"> <result name="success" type="chain"> <param name="actionname">showsuccess</param> </result> <result name="error" type="chain"> <param name="actionname">showerror</param> </result> </action> </xwork> <action name="showsuccess" class="org.erptao.flex.book.xwork.showsuccessaction"> </action> <action name="showerror" class="org.erptao.flex.book.xwork.showerroraction"> </action> 14
17 package Result Xwork : <result-types> <result-type name= chain class= com.opensymphony.xwork.actionchainresult /> </result-types> ActionChainResult Action result-type action <result name="success" type="chain"> <param name="actionname">showsuccess</param> </result> <result name="error" type="chain"> <param name="actionname">showerror</param> </result> SignupAction SUCCESS showsuccess action ERROR showerroraction. Xwork.xml public class ShowSuccessAction extends TestCase implements Action{ private String username; private String password; private String confirm; private String ; /* (non-javadoc) com.opensymphony.xwork.action#execute() */ public String execute() throws Exception { Map params = ActionContext.getContext().getParameters(); username = (String) params.get("username"); password = (String) params.get("password"); confirm = (String) params.get("confirm"); = (String) params.get(" "); fail(); return Action.SUCCESS; ShowSuccessAction TestCase Action action UserTest, fail() assertequals(username,"test"); assertequals( , "[email protected]"); assertequals(password, "1234"); assertequals(confirm, "1234"); 15
18 Xwork Result actionname,( <param name="actionname">showsuccess</param>) Result execute public void execute(actioninvocation invocation) throws Exception { HashMap extracontext = new HashMap(); extracontext.put(actioncontext.value_stack, ActionContext.getContext().getValueStack()); extracontext.put(actioncontext.parameters, ActionContext.getContext().getParameters()); extracontext.put("com.opensymphony.xwork.interceptor.component.compon entmanager", ActionContext.getContext().get("com.opensymphony.xwork.interceptor.co mponent.componentmanager")); if (log.isdebugenabled()) { log.debug("chaining to action " + actionname); one // if the namespace wasn't explicitly defined, assume the current if (this.namespace == null) { this.namespace = invocation.getproxy().getnamespace(); proxy = ActionProxyFactory.getFactory().createActionProxy(this.namespace, actionname, extracontext); proxy.execute(); Xwork Action Controller Web Webwork Result EL OGNL Action Web Form 16
19 username Action username Action Action Action 1 TextField Data String Action string FormBean 2 Action Action action action 3 list map 4 5 JSP javabean JSTL EL.,Velocity WebWork Web tag Xwork Xwork OGNL Object Graph Navigation Language Web Tapestry WebObjects OGNL Java OGNL OGNL OGNL JavaBean setter/getter OGNL 17
20 User public class User { public Group getgroup() { public class Group { private Map users = new HashMap(); private String name; public Group(String name) { this.name = name; public boolean containuser(string username) { return users.containskey(username); public void adduser(user user) { user.setgroup(this); users.put(user.getusername(),user); public Collection getallusers() { return Collections.unmodifiableCollection(users.values()); user group.name group.containuser ( test ) group.allusers.size() Ognl TestCase public void testget() throws OgnlException { User user = new User("test","123","[email protected]"); Object name = getvalue(user,"username",null); assertequals("test",name); Map context = new HashMap(); context.put("hello","hi! "); Object hello = getvalue(user,"#hello + username",context); assertequals("hi! test",hello); 18
21 public Object getvalue(object rootobject,string expr,map context) throws OgnlException { if(context==null) return Ognl.getValue(Ognl.parseExpression(expr), rootobject); return Ognl.getValue(Ognl.parseExpression(expr), context, rootobject); getvalue Ognl ognl.ognl: Ognl.getValue(Ognl.parseExpression(expr), context, rootobject); string JavaCC AST Context ognl assert "username", context user username "#hello + username" context hello Hi! #hello + username #hello OGNL # TestCase Group group = new Group("testGroup"); group.adduser(user); Object currentgroupusercount = getvalue(user,"group.allusers.size()",null); assertequals(new Integer(1),currentGroupUserCount); Map usercontext = new HashMap(); usercontext.put("requestuser","tttt"); Object hasuser = getvalue(user,"group.containuser( #requestuser )",usercontext); assertequals(boolean.false,hasuser); usercontext.put("requestuser","test"); hasuser = getvalue(user,"group.containuser( #requestuser )",usercontext); assertequals(boolean.true,hasuser); ognl this Object usercountstring = 19
22 getvalue(user,"group.allusers.size().tostring()",null); assertequals("1",usercountstring); usercountstring = getvalue(user,"group.allusers.size().(#this+1).tostring()",null); assertequals("2",usercountstring); ognl Map newname = new HashMap(); newname.put("newname","ttttttt"); getvalue(user,"username=#newname",newname); assertequals(user.getusername(),"ttttttt"); public void testsetvalue() throws OgnlException { User user = new User("test","123","[email protected]"); setvalue(user,"username",null,"test1"); assertequals(user.getusername(),"test1"); Group group = new Group("testGroup"); group.adduser(user); setvalue(user,"group.name",null,"testgoup1"); assertequals(group.getname(),"testgoup1"); root Context getvalue() OGNL OGNL java b B BigDecimals h H BigIntegers true false null 20
23 List Array Map List {element1,element2,element3,.. list List public void testlist() throws OgnlException { User user = new User("test","123","[email protected]"); Object usernameinlist = getvalue(user,"username in {'123','456',null,'tttt'",null); assertequals(boolean.false,usernameinlist); usernameinlist = getvalue(user,"username in {'123','test',null,'tttt'",null); assertequals(boolean.true,usernameinlist); { 123 test null, ttt OGNL List Group group = new Group("test"); group.adduser(user); User anotheruser = new User("test1","123","[email protected]"); group.adduser(anotheruser); User justanotheruser = new User("test2","123","[email protected]"); group.adduser(justanotheruser); Object firstuser = getvalue(user, "group.alluserlist[0]",null); assertequals(user,firstuser); Object seconduser = getvalue(user, "group.alluserlist[1]",null); assertequals(anotheruser,seconduser); Array public void testarray() throws OgnlException { User user = new User("test", "123", "[email protected]"); Group group = new Group("test"); group.adduser(user); User anotheruser = new User("test1", "123", "[email protected]"); group.adduser(anotheruser); User justanotheruser = new User("test2", "123", "[email protected]"); group.adduser(justanotheruser); Object usernameinlist = 21
24 getvalue(user, "username in new String[] {'123','test',null,'tttt'", null); assertequals(boolean.true, usernameinlist); new ObjectType[] {. Object thirduser = getvalue(user,"group.alluserlist.toarray()[2]",null); assertequals(justanotheruser,thirduser); Map public void testmap() throws OgnlException { Map map = new HashMap(); getvalue(map,"putall(#{ 'foo' : 'foo value', 'bar' : 'bar value' )",null); assertequals(map.get("foo"),"foo value"); assertequals(map.get("bar"),"bar value"); #{ 'foo' : 'foo value', 'bar' : 'bar value' Map,map #{ key1:value1, key2:value2, (projection,selection) OGNL projection selection, selection collection.{xxx public void testporjectionandselection() throws OgnlException { User user = new User("test", "123", "[email protected]"); Group group = new Group("test"); group.adduser(user); User anotheruser = new User("test1", "123", "[email protected]"); group.adduser(anotheruser); User justanotheruser = new User("test2", "123", "[email protected]"); group.adduser(justanotheruser); List usernames = (List) getvalue(user,"group.alluserlist.{username",null); assertequals(usernames.size(),3); 22
25 assertequals(usernames.get(0),"test"); assertequals(usernames.get(1),"test1"); assertequals(usernames.get(2),"test2"); { #this User null user = new User("test2", "123", null); group.adduser(null user); List user domains = (List) getvalue(user,"group.alluserlist.{#this. ==null? null : .substring( .indexof('@')+1)",null); assertequals(user domains.size(),4); assertequals(user domains.get(0),"a.com"); assertequals(user domains.get(1),"b.com"); assertequals(user domains.get(2),"c.com"); assertequals(user domains.get(3),null); group.alluserlist.{#this. ==null? null : .substring( .indexof('@')+1) user null null domain domain Selection collection.{x YYY X? ^ $ List nonnull users = (List)getValue(user,"group.allUserList.{? #this. !=null",null); assertequals(nonnull users.size(),3); List firstnonnull user = (List)getValue(user,"group.allUserList.{^ #this. !=null",null); assertequals(firstnonnull user.size(),1); assertequals(firstnonnull user.get(0),user); List lastnonnull user = (List)getValue(user,"group.allUserList.{$ #this. !=null",null); assertequals(lastnonnull user.size(),1); assertequals(lastnonnull user.get(0),justanotheruser); selection projection SQL List nonnulluserdomains = (List) getvalue(user,"group.alluserlist.{? #this. !=null.{#this. .substring( .indexof('@')+1)",nul 23
26 l); assertequals(nonnulluserdomains.size(),3); assertequals(nonnulluserdomains.get(0),"a.com"); assertequals(nonnulluserdomains.get(1),"b.com"); assertequals(nonnulluserdomains.get(2),"c.com"); OGNL Xwork OGNL MVC ValueStack XWork Model-2 MVC C View JSP Tag struts tag <logic:iterate id="relative" name="myformbean" property= relatives > <bean:write name="relative" property="value"/> </logic:iterate> webwork <webwork:iterator value= relatives > <webwork:property value= name /> </webwork:iterator> struts tag id bean bean tag Struts nested tag bean tag nested:xx Webwork nested Xwork ValueStack OgnlValueStack OgnlValueStack OGNL root OGNL TestCase OgnlValueStack stack = new OgnlValueStack(); User user = new User("test", "123", "[email protected]"); stack.push(user); dumpstack(stack.getroot()); Object name = stack.findvalue("username"); 24
27 assertequals("test", name); OgnlValueStack, user push dumpstack username OgnlValueStack OGNL root CompundRoot dump: private void dumpstack(compoundroot root) { System.out.println("---stack top---"); for(int i=0;i<root.size();i++) { System.out.println(root.get(i).toString()); System.out.println("---stack bottom---"); dump ---stack top--- [username:test] ---stack bottom--- stack.getcontext().put("hello", "Hi! "); Object helloname = stack.findvalue("#hello+username"); assertequals("hi! test", helloname); Group Group group = new Group("testGroup"); stack.push(group); dumpstack(stack.getroot()); name = stack.findvalue("name"); assertequals("testgroup", name); ---stack top--- [groupname:testgroup] [username:test] ---stack bottom--- name group name = stack.findvalue("username"); assertequals("test", name); stack Group username ValueStack User username Group Group anothergroup = new Group("testGroup1"); stack.push(anothergroup); dumpstack(stack.getroot()); ---stack top--- [groupname:testgroup1] [groupname:testgroup] [username:test] 25
28 ---stack bottom--- testgroup name name = stack.findvalue("name"); assertequals("testgroup1", name); name = stack.findvalue("[1].name"); assertequals("testgroup", name); ActionContext OgnlValueStack Interceptor ParametersInterceptor staticparametersinterceptor ChainingInterceptor ModelDrivenInterceptor ValidationInterceptor Xwork AOP EL XWork 26
29 Xwork+Hessian 27
新・解きながら学ぶJava
481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --
(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit
Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How
EJB-Programming-4-cn.doc
EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session
基于CDIO一体化理念的课程教学大纲设计
Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授
untitled
JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE
IoC容器和Dependency Injection模式.doc
IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component
1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6
www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7
Microsoft Word - 01.DOC
第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的
优迈科技教学大纲2009版本
java 软 件 工 程 师 培 训 教 学 大 纲 1 JAVA 软 件 工 程 师 培 训 教 学 大 纲 深 圳 软 件 园 人 才 实 训 基 地 2009 年 3 月 目 录 java 软 件 工 程 师 培 训 教 学 大 纲 2 教 学 阶 段...3 第 一 章 JAVA 起 步...3 第 二 章 面 向 对 象 的 编 程...4 第 三 章 数 据 结 构 IO 线 程 网 络...5
没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型
文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结
北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见
北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,
詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入
100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入
untitled
-JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP
D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ
第 四 章 Filter( 过 滤 器 ) 样 题 A 卷 一 选 择 题 ( 每 小 题 2 分, 共 20 分 ) 1 下 面 选 项 中, 用 于 实 现 初 始 化 过 滤 器 的 方 法 是 ( ) A init(filterconfig filterconfig) B dofilter(servletrequest req,servletresponse resp,filterchain
前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii
前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time
《大话设计模式》第一章
第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜
1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10
Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1
JBuilder Weblogic
JUnit ( [email protected]) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC
jsp
JSP Allen Long Email: [email protected] http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 JSP JSP JSP JSP MVC Huihoo - Enterprise Open Source http://www.huihoo.com 2
untitled
1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override
Microsoft PowerPoint - ch6 [相容模式]
UiBinder [email protected] UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner
chp6.ppt
Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行
<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>
程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 [email protected] 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学
エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******
******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);
epub83-1
C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C
KillTest 质量更高 服务更好 学习资料 半年免费更新服务
KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-091 Title : Sun Certified Bus.Component Developer Java EE Platform 5 Version : DEMO 1 / 11 1. Which is a valid PostConstruct method in
KillTest 质量更高 服务更好 学习资料 半年免费更新服务
KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard
北京北信源软件股份有限公司招股书(申报稿)
qimingengz 31 创 业 板 投 资 风 险 提 示 本 次 股 票 发 行 后 拟 在 创 业 板 市 场 上 市, 该 市 场 具 有 较 高 的 投 资 风 险 创 业 板 公 司 具 有 业 绩 不 稳 定 经 营 风 险 高 退 市 风 险 大 等 特 点, 投 资 者 面 临 较 大 的 市 场 风 险 投 资 者 应 充 分 了 解 创 业 板 市 场 的 投 资 风 险 及
Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,
http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY
无类继承.key
无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo [email protected] https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255
<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>
packages 3-31 PART 3-31 03-03 ASP.NET ASP.N MVC ASP.NET ASP.N MVC 4 ASP.NET ASP.NE MVC Entity Entity Framework Code First 2 TIPS Visual Studio 20NuGetEntity NuGetEntity Framework5.0 CHAPTER 03 59 3-3-1
TopTest_Adminstrator.doc
壹 前 言... 3 貳 系 統 簡 介... 4 一 TKB multimedia Top-Test 系 統 架 構...4 1. 使 用 者 介 面 層 (Presentation tier)...5 2. 商 業 邏 輯 層 (business logic tier)...5 3. 資 料 服 務 層 (data services tier)...5 二 TKB Multimedia Top-Test
ebook
26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v
1
PRIMETON TECHNOLOGIES, LTD. EOS EOS Manager No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying,
RunPC2_.doc
PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection
javaexample-02.pdf
n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O
Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);
untitled
653 JAVA 2008 11 Institution of Software Engineer... 2... 4... 4... 5... 5... 8... 8... 8... 8... 8... 9... 9... 9... 11... 13... 13... 13... 13... 15... 15... 15... 15... 16... 16... 17... 17... 17...
2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF
Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific
雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO
CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount
Microsoft Word - 第3章.doc
Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck
Strings
Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A
Microsoft Word - ch04三校.doc
4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear
Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc
References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2
國家圖書館典藏電子全文
EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active
3.1 num = 3 ch = 'C' 2
Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:
WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..
WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips ([email protected]),, IBM Developer Technical Support Center
mvc
Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication
untitled
1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 [email protected] www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立
LiveBOS产品白皮书
面 向 对 象 的 业 务 支 撑 平 台 与 建 模 工 具 * 实 现 应 您 所 需, 随 时 而 变 的 应 用 * 业 务 管 理 应 用 软 件 最 佳 选 择 * LiveBOS 产 品 白 皮 书 LiveBOS 产 品 白 皮 书 福 建 顶 点 软 件 股 份 有 限 公 司 www.livebos.com Copyright c 1996-2009 版 权 所 有 福 建 顶
LiveBOS产品白皮书
面 向 对 象 的 业 务 支 撑 平 台 与 建 模 工 具 * 实 现 应 您 所 需, 随 时 而 变 的 应 用 * 业 务 管 理 应 用 软 件 最 佳 选 择 * LiveBOS 产 品 白 皮 书 LiveBOS 产 品 白 皮 书 福 州 顶 点 信 息 管 理 有 限 公 司 http://www.apexinfo.com.cn Copyright c 2008-2015 版 权
JavaIO.PDF
O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException
1. 2. Flex Adobe 3.
1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA
Java 1 Java String Date
JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth
06-4.indd
1 02 07 13 16 20 28 33 38 42 46 48 51 57 64 65 65 66 67 68 2 3 4 5 6 7 8 9 10 11 12 13 LL T : 14 LL T 15 16 扫描电子显微镜成像模拟的 MPI 及 OpenMP 并行化 17 18 19 20 21 22 ~ ~ ~ 23 24 ~ ~ ~ ~ ~ ~ ~ 25 26 27 28 29 图 3
untitled
PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說
WWW PHP
WWW PHP 2003 1 2 function function_name (parameter 1, parameter 2, parameter n ) statement list function_name sin, Sin, SIN parameter 1, parameter 2, parameter n 0 1 1 PHP HTML 3 function strcat ($left,
Chapter 9: Objects and Classes
Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum
Servlet
Servlet Allen Long Email: [email protected] http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 Huihoo - Enterprise Open Source http://www.huihoo.com 2 GET POST Huihoo
OOP with Java 通知 Project 4: 4 月 19 日晚 9 点
OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d
FileMaker 16 ODBC 和 JDBC 指南
FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,
"+handlermethod.getbean().getclass().getname()); public void aftercompletion(httpservletrequest req, HttpServletResponse resp, Object handler, Excepti
SpringBoot 的配置 一 拦截器的配置 1 定义一个表单 用户名 : 密 码 :
untitled
1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form
Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO
Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS
主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new
ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,
1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->
目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController
untitled
Work Managers 什 Work Managers? WebLogic Server 9.x 行 (thread) 理 thread pool 數量 立 execute queues 來 量 理 thread count, thread priority 參數 理 thread pool 數量? WebLogic Server 9.x 理 行 (thread) (self-tuning) 句
附录J:Eclipse教程
附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第
Microsoft Word - PHP7Ch01.docx
PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:
1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:
Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed
11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与
2013 乌 鲁 木 齐 市 事 业 单 工 作 员 表 序 1 天 山 区 区 委 财 经 领 导 小 组 办 公 室 ( 金 融 工 作 办 公 室 ) 金 融 工 作 专 干 4001 C 2 不 限 不 限 硕 士 研 究 生 会 计 财 务 管 理 财 务 会 计 基 建 会 计 行 政 事 业 财 务 会 计 2 天 山 区 区 园 林 队 会 计 4002 C 1 不 限 不 限 财
