J2EE MVC with Webwork2 Xwork, to J2EE MVC with Webwork2 Xwork

Size: px
Start display at page:

Download "J2EE MVC with Webwork2 Xwork, to J2EE MVC with Webwork2 Xwork"

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

新・解きながら学ぶ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 --

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(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

More information

EJB-Programming-4-cn.doc

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

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

untitled

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

More information

IoC容器和Dependency Injection模式.doc

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

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

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

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

优迈科技教学大纲2009版本

优迈科技教学大纲2009版本 java 软 件 工 程 师 培 训 教 学 大 纲 1 JAVA 软 件 工 程 师 培 训 教 学 大 纲 深 圳 软 件 园 人 才 实 训 基 地 2009 年 3 月 目 录 java 软 件 工 程 师 培 训 教 学 大 纲 2 教 学 阶 段...3 第 一 章 JAVA 起 步...3 第 二 章 面 向 对 象 的 编 程...4 第 三 章 数 据 结 构 IO 线 程 网 络...5

More information

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型 文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

untitled

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

More information

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ

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

More information

前言 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# 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

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

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

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

More information

JBuilder Weblogic

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

More information

jsp

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

More information

untitled

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

More information

Microsoft PowerPoint - ch6 [相容模式]

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

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 [email protected] 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 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]);

More information

epub83-1

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

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

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

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

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

More information

北京北信源软件股份有限公司招股书(申报稿)

北京北信源软件股份有限公司招股书(申报稿) qimingengz 31 创 业 板 投 资 风 险 提 示 本 次 股 票 发 行 后 拟 在 创 业 板 市 场 上 市, 该 市 场 具 有 较 高 的 投 资 风 险 创 业 板 公 司 具 有 业 绩 不 稳 定 经 营 风 险 高 退 市 风 险 大 等 特 点, 投 资 者 面 临 较 大 的 市 场 风 险 投 资 者 应 充 分 了 解 创 业 板 市 场 的 投 资 风 险 及

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

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

More information

无类继承.key

无类继承.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

More information

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

<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

More information

TopTest_Adminstrator.doc

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

More information

ebook

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

More information

1

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,

More information

RunPC2_.doc

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

More information

javaexample-02.pdf

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

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

untitled

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...

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

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

More information

雲端 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

雲端 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

More information

Microsoft Word - 第3章.doc

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

More information

Strings

Strings Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A

More information

Microsoft Word - ch04三校.doc

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

More information

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

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

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 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

More information

3.1 num = 3 ch = 'C' 2

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:

More information

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... 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

More information

mvc

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

More information

untitled

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 立

More information

LiveBOS产品白皮书

LiveBOS产品白皮书 面 向 对 象 的 业 务 支 撑 平 台 与 建 模 工 具 * 实 现 应 您 所 需, 随 时 而 变 的 应 用 * 业 务 管 理 应 用 软 件 最 佳 选 择 * LiveBOS 产 品 白 皮 书 LiveBOS 产 品 白 皮 书 福 建 顶 点 软 件 股 份 有 限 公 司 www.livebos.com Copyright c 1996-2009 版 权 所 有 福 建 顶

More information

LiveBOS产品白皮书

LiveBOS产品白皮书 面 向 对 象 的 业 务 支 撑 平 台 与 建 模 工 具 * 实 现 应 您 所 需, 随 时 而 变 的 应 用 * 业 务 管 理 应 用 软 件 最 佳 选 择 * LiveBOS 产 品 白 皮 书 LiveBOS 产 品 白 皮 书 福 州 顶 点 信 息 管 理 有 限 公 司 http://www.apexinfo.com.cn Copyright c 2008-2015 版 权

More information

JavaIO.PDF

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

More information

1. 2. Flex Adobe 3.

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

More information

Java 1 Java String Date

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

More information

06-4.indd

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

More information

untitled

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 來說 說

More information

WWW PHP

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,

More information

Chapter 9: Objects and Classes

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

More information

Servlet

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

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

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

More information

FileMaker 16 ODBC 和 JDBC 指南

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,

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

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

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : 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,

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

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

More information

untitled

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) 句

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

Microsoft Word - PHP7Ch01.docx

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:

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

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

More information

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与 2013 乌 鲁 木 齐 市 事 业 单 工 作 员 表 序 1 天 山 区 区 委 财 经 领 导 小 组 办 公 室 ( 金 融 工 作 办 公 室 ) 金 融 工 作 专 干 4001 C 2 不 限 不 限 硕 士 研 究 生 会 计 财 务 管 理 财 务 会 计 基 建 会 计 行 政 事 业 财 务 会 计 2 天 山 区 区 园 林 队 会 计 4002 C 1 不 限 不 限 财

More information