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 ("test@test.com"); 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 ("test@test.com"); 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(" ", "test@test.com"); 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(" ", "test@test.com"); 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("test@test.com",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","zhangsan@z.com"); 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( , "test@test.com"); 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","a@a.com"); 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","a@a.com"); 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","a@a.com"); 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","a@a.com"); group.adduser(anotheruser); User justanotheruser = new User("test2","123","a@a.com"); 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", "a@a.com"); Group group = new Group("test"); group.adduser(user); User anotheruser = new User("test1", "123", "a@a.com"); group.adduser(anotheruser); User justanotheruser = new User("test2", "123", "a@a.com"); 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", "a@a.com"); Group group = new Group("test"); group.adduser(user); User anotheruser = new User("test1", "123", "a@a.com"); group.adduser(anotheruser); User justanotheruser = new User("test2", "123", "a@a.com"); 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", "a@a.com"); 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

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

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

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

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

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

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

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

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

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 ( bliu76@yeah.net) < >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: allen@huihoo.com 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

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

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

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

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

untitled

untitled 1 Outline 類别 欄 (1) 類 類 狀 更 易 類 理 若 類 利 來 利 using 來 namespace 類 ; (2) namespace IBM class Notebook namespace Compaq class Notebook 類别 類 來 類 列 欄 (field) (property) (method) (event) 類 例 立 來 車 類 類 立 車 欄 料

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw 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++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

第03章 控制反转(Spring IoC)

第03章  控制反转(Spring IoC) 3 Spring IoC GoF Design Patterns: Elements of Reusable Object-Oriented Software Programming to an Interface not an Implementation Java Java Java GoF Service Locator IoC IoC Spring IoC 3.1 IoC IoC IoC Dependency

More information

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) 09 (File Processes) 9-1 9-2 (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) Java Servlet 9-1 Servlet (File Processes) Client Servlet Servlet Java Java (Stream)

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 理解 Struts 框架的工作原理 掌握使用 Struts 框架开发 Web 应用的基本步骤 熟悉 MyEclipse 对 Struts 开发的支持 Web 框架事实标准 : Web 框架的事实标准 http://struts.apache.org Java EE 主流技术趋势图 主流 Web 框架趋势图 使用 Struts 实现加法器 使用开发的

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

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

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

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

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

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

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

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

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

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 aiming@gmail.com 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

untitled

untitled ArcGIS Server Web services Web services Application Web services Web Catalog ArcGIS Server Web services 6-2 Web services? Internet (SOAP) :, : Credit card authentication, shopping carts GIS:, locator services,

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

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

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

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

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

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 (dougep@us.ibm.com),, 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 聯 ives.net@gmail.com 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

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

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

第一章 章标题-F2 上空24,下空24

第一章 章标题-F2 上空24,下空24 Web 9 XML.NET Web Web Service Web Service Web Service Web Service Web Service ASP.NET Session Application SOAP Web Service 9.1 Web Web.NET Web Service Web SOAP Simple Object Access Protocol 9.1.1 Web Web

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

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

untitled

untitled 1 .NET sln csproj dll cs aspx 說 料 料 利 來 料 ( 來 ) 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Click 滑 料 Response 列 料 Response HttpResponse 類 Write 料 Redirect URL Response.Write("!!

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

填 写 要 求 1. 以 word 文 档 格 式 如 实 填 写 各 项 2. 表 格 文 本 中 外 文 名 词 第 一 次 出 现 时, 要 写 清 全 称 和 缩 写, 再 次 出 现 时 可 以 使 用 缩 写 3. 本 表 栏 目 未 涵 盖 的 内 容, 需 要 说 明 的, 请 在

填 写 要 求 1. 以 word 文 档 格 式 如 实 填 写 各 项 2. 表 格 文 本 中 外 文 名 词 第 一 次 出 现 时, 要 写 清 全 称 和 缩 写, 再 次 出 现 时 可 以 使 用 缩 写 3. 本 表 栏 目 未 涵 盖 的 内 容, 需 要 说 明 的, 请 在 附 件 4 精 品 在 线 开 放 课 程 申 报 书 学 校 名 称 课 程 名 称 广 东 科 学 技 术 职 业 学 院 Java 面 向 对 象 程 序 设 计 课 程 类 别 专 业 基 础 课 专 业 核 心 课 所 属 专 业 课 程 负 责 人 申 报 日 期 推 荐 单 位 软 件 技 术 刘 晓 英 2016 年 6 月 1 日 计 算 机 工 程 技 术 学 院 广 东 省 教

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: allen@huihoo.com 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

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问 内置对象的取得和多人开发 一 内置对象的取得 在使用的 servlet 的时候可以通过 HttpServletResquest 获取到一些内置对象, 但是在 struts2 中为了方便取得内置对象, 专门提供了一个 ServletActionContext 这个类取得取得内置对象, 观察如下方法 public static javax.servlet.jsp.pagecontext() 取得 pagecontext

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

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID 58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.

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

ebook71-13

ebook71-13 13 I S P Internet 13. 2. 1 k p p p P P P 13. 2. 2 1 3. 2. 3 k p p p 1 3. 2. 4 l i n u x c o n f P P P 13. 2. 5 p p p s e t u p 13. 2. 6 p p p s e t u p P P P 13. 2. 7 1 3. 2. 8 C a l d e r a G U I 13.

More information