diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/\346\226\207\347\253\240\351\223\276\346\216\245_20170224.txt" "b/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/\346\226\207\347\253\240\351\223\276\346\216\245_20170224.txt" deleted file mode 100644 index 1ecad55f85..0000000000 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/\346\226\207\347\253\240\351\223\276\346\216\245_20170224.txt" +++ /dev/null @@ -1,5 +0,0 @@ -描述CPU,内存, 硬盘,指令之间的关系。 - -文章链接:http://www.cnblogs.com/qingmaple/p/6437070.html - -QQ:1091149131 深圳-叶子 \ No newline at end of file diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.classpath" b/group14/1091149131/2017JavaPro/.classpath similarity index 83% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.classpath" rename to group14/1091149131/2017JavaPro/.classpath index 373dce4005..0f6a65708e 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.classpath" +++ b/group14/1091149131/2017JavaPro/.classpath @@ -3,5 +3,6 @@ + diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.gitignore" b/group14/1091149131/2017JavaPro/.gitignore similarity index 100% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.gitignore" rename to group14/1091149131/2017JavaPro/.gitignore diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.project" b/group14/1091149131/2017JavaPro/.project similarity index 91% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.project" rename to group14/1091149131/2017JavaPro/.project index 194f47da7a..ab0a07b820 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.project" +++ b/group14/1091149131/2017JavaPro/.project @@ -1,6 +1,6 @@ - basicstructuredemo + 2017JavaPro diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.settings/org.eclipse.jdt.core.prefs" b/group14/1091149131/2017JavaPro/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/.settings/org.eclipse.jdt.core.prefs" rename to group14/1091149131/2017JavaPro/.settings/org.eclipse.jdt.core.prefs diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/ArrayList.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/ArrayList.java similarity index 98% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/ArrayList.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/ArrayList.java index f6d3b4c44a..c04d7fe381 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/ArrayList.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/ArrayList.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; public class ArrayList implements List { diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/BinaryTree.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/BinaryTree.java similarity index 97% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/BinaryTree.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/BinaryTree.java index 5e63cf4d3c..962f73ea14 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/BinaryTree.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/BinaryTree.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName; diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/BinaryTreeNode.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/BinaryTreeNode.java similarity index 98% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/BinaryTreeNode.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/BinaryTreeNode.java index f702d48922..105d3c4e94 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/BinaryTreeNode.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/BinaryTreeNode.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName; diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Iterator.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/Iterator.java similarity index 76% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Iterator.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/Iterator.java index ac8ecd6050..f2cf7ea146 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Iterator.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/Iterator.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; public interface Iterator { public boolean hasNext(); diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/LinkedList.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/LinkedList.java similarity index 99% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/LinkedList.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/LinkedList.java index d957f74bdc..4622986c31 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/LinkedList.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/LinkedList.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; import java.util.NoSuchElementException; diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/List.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/List.java similarity index 87% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/List.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/List.java index 99bed9d96b..f45e9ebc4f 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/List.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/List.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; public interface List { public void add(Object o); diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Queue.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/Queue.java similarity index 93% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Queue.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/Queue.java index 278d3dba7f..51961056f7 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Queue.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/Queue.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; public class Queue { private LinkedList elementData=new LinkedList(); diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Stack.java" b/group14/1091149131/2017JavaPro/src/com/m0226/basic/Stack.java similarity index 95% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Stack.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/basic/Stack.java index cec4599237..7de23aaff8 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/basic/Stack.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/basic/Stack.java @@ -1,4 +1,4 @@ -package com.maple.basic; +package com.m0226.basic; public class Stack { private ArrayList elementData = new ArrayList(); diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestAPIDemo.java" b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestAPIDemo.java similarity index 97% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestAPIDemo.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/test/TestAPIDemo.java index ee592fbb7b..eb3ada6da0 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestAPIDemo.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestAPIDemo.java @@ -1,4 +1,4 @@ -package com.maple.test; +package com.m0226.test; import java.util.ArrayList; import java.util.Iterator; diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestAll.java" b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestAll.java similarity index 84% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestAll.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/test/TestAll.java index 9fd59e512e..9ff0f407ce 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestAll.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestAll.java @@ -1,13 +1,13 @@ -package com.maple.test; +package com.m0226.test; import org.junit.Test; -import com.maple.basic.ArrayList; -import com.maple.basic.BinaryTree; -import com.maple.basic.Iterator; -import com.maple.basic.LinkedList; -import com.maple.basic.Queue; -import com.maple.basic.Stack; +import com.m0226.basic.ArrayList; +import com.m0226.basic.BinaryTree; +import com.m0226.basic.Iterator; +import com.m0226.basic.LinkedList; +import com.m0226.basic.Queue; +import com.m0226.basic.Stack; public class TestAll { @Test diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestArrayList.java" b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestArrayList.java similarity index 77% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestArrayList.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/test/TestArrayList.java index 94ecec52f7..d9cc6e55be 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestArrayList.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestArrayList.java @@ -1,9 +1,9 @@ -package com.maple.test; +package com.m0226.test; import org.junit.Test; -import com.maple.basic.ArrayList; -import com.maple.basic.Iterator; +import com.m0226.basic.ArrayList; +import com.m0226.basic.Iterator; public class TestArrayList{ diff --git "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestMyDemo.java" b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestMyDemo.java similarity index 82% rename from "group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestMyDemo.java" rename to group14/1091149131/2017JavaPro/src/com/m0226/test/TestMyDemo.java index 639aaa629b..855e84f04d 100644 --- "a/group14/1091149131/20170226_\344\275\234\344\270\2321_\346\225\260\346\215\256\347\273\223\346\236\204\345\217\212\346\226\207\347\253\240/basicstructuredemo/src/com/maple/test/TestMyDemo.java" +++ b/group14/1091149131/2017JavaPro/src/com/m0226/test/TestMyDemo.java @@ -1,12 +1,12 @@ -package com.maple.test; +package com.m0226.test; -import com.maple.basic.ArrayList; -import com.maple.basic.BinaryTree; -import com.maple.basic.BinaryTreeNode; -import com.maple.basic.Iterator; -import com.maple.basic.LinkedList; -import com.maple.basic.Queue; -import com.maple.basic.Stack; +import com.m0226.basic.ArrayList; +import com.m0226.basic.BinaryTree; +import com.m0226.basic.BinaryTreeNode; +import com.m0226.basic.Iterator; +import com.m0226.basic.LinkedList; +import com.m0226.basic.Queue; +import com.m0226.basic.Stack; /** * 娴嬭瘯鑷繁鍐欑殑鏁版嵁缁撴瀯 diff --git a/group14/1091149131/2017JavaPro/src/com/m0305/array/ArrayUtil.java b/group14/1091149131/2017JavaPro/src/com/m0305/array/ArrayUtil.java new file mode 100644 index 0000000000..05002d3561 --- /dev/null +++ b/group14/1091149131/2017JavaPro/src/com/m0305/array/ArrayUtil.java @@ -0,0 +1,237 @@ +package com.m0305.array; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; + +public class ArrayUtil { + + /** + * 缁欏畾涓涓暣褰㈡暟缁刟 , 瀵硅鏁扮粍鐨勫艰繘琛岀疆鎹 + 渚嬪锛 a = [7, 9 , 30, 3] , 缃崲鍚庝负 [3, 30, 9,7] + 濡傛灉 a = [7, 9, 30, 3, 4] , 缃崲鍚庝负 [4,3, 30 , 9,7] + * @param origin + * @return + */ + public void reverseArray(int[] origin){ + int len=origin.length; + + //鏂规硶2锛岀敤鏂版暟鎹幓鍙栨棫鏁扮粍鐨勫 + int[] src=new int[len]; + long start=System.currentTimeMillis(); + for(int i=0;i list=new ArrayList<>(); + for(int i=0;i list=new ArrayList<>(); + //i鎸囧悜arr1锛宩鎸囧悜arr2, + int i=0,j=0; + while(iarr2[j]){ + list.add(arr2[j]); + j++; + } + } + if(i>=len1||j>=len2){ + //濡傛灉鍏朵腑涓涓暟缁勫凡缁忛亶鍘嗗畬浜嗭紝鍒欏彟澶栦竴涓暟缁勭洿鎺ュ姞鍏ュ埌list涓 + for(int k1=i;k1 list=new ArrayList<>(); + if(max==1){ + return new int[0];//??绌烘暟缁勶紵锛 + } + + int one=1; + int two=2; + list.add(one); + list.add(two); + int temp=one+two; + while(temp list=new ArrayList<>(); + int j=2; + for(int i=2;i list=new ArrayList<>(); + //1鏄畬鏁板悧 + int sum=1; + for(int i=2;i list){ + if(list==null) return null; + int[] descArr=new int[list.size()]; + for(int i=0;i parameters){ + + /* + + 0. 璇诲彇閰嶇疆鏂囦欢struts.xml + + 1. 鏍规嵁actionName鎵惧埌鐩稿搴旂殑class 锛 渚嬪LoginAction, 閫氳繃鍙嶅皠瀹炰緥鍖栵紙鍒涘缓瀵硅薄锛 + 鎹畃arameters涓殑鏁版嵁锛岃皟鐢ㄥ璞$殑setter鏂规硶锛 渚嬪parameters涓殑鏁版嵁鏄 + ("name"="test" , "password"="1234") , + 閭e氨搴旇璋冪敤 setName鍜宻etPassword鏂规硶 + + 2. 閫氳繃鍙嶅皠璋冪敤瀵硅薄鐨別xectue 鏂规硶锛 骞惰幏寰楄繑鍥炲硷紝渚嬪"success" + + 3. 閫氳繃鍙嶅皠鎵惧埌瀵硅薄鐨勬墍鏈塯etter鏂规硶锛堜緥濡 getMessage锛, + 閫氳繃鍙嶅皠鏉ヨ皟鐢紝 鎶婂煎拰灞炴у舰鎴愪竴涓狧ashMap , 渚嬪 {"message": "鐧诲綍鎴愬姛"} , + 鏀惧埌View瀵硅薄鐨刾arameters + + 4. 鏍规嵁struts.xml涓殑 閰嶇疆,浠ュ強execute鐨勮繑鍥炲硷紝 纭畾鍝竴涓猨sp锛 + 鏀惧埌View瀵硅薄鐨刯sp瀛楁涓 + + */ + SAXReader reader=new SAXReader(); + Document document=null; + try { + document = reader.read(Struts.class.getResource("struts.xml")); + } catch (DocumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + Element root=document.getRootElement(); + /* + * 褰撳墠鑺傜偣鐨勫悕绉帮細struts + * + 褰撳墠鑺傜偣鐨勫悕绉帮細action + 灞炴ame:login + 灞炴lass:com.m0305.lisestruts.LoginAction + + 褰撳墠鑺傜偣鐨勫悕绉帮細result + 灞炴ame:success + result锛/jsp/homepage.jsp + + 褰撳墠鑺傜偣鐨勫悕绉帮細result + 灞炴ame:fail + result锛/jsp/showLogin.jsp + + + + /jsp/homepage.jsp + /jsp/showLogin.jsp + + + /jsp/welcome.jsp + /jsp/error.jsp + + + + */ + String xpath = "//action[@name='" + actionName + "']/child::*"; + String xpath1 = "//action[@name='" + actionName + "']"; + + List list1=root.selectNodes(xpath1); + + String className=null; + String methodName=null; + if(!list1.isEmpty()){ + Element elt = (Element) list1.get(0); + Attribute classattr=elt.attribute("class"); + Attribute methodattr=elt.attribute("method"); + className=classattr.getValue(); + if(methodattr!=null){ + methodName=methodattr.getValue(); + } + } + Class clazz=null; + try { + clazz=Class.forName(className); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + Object act=null; + try { + act=clazz.getConstructor().newInstance(); + } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException + | NoSuchMethodException | SecurityException e) { + e.printStackTrace(); + } + for(Entry s:parameters.entrySet()){ + s.getKey(); + try { + Method m1=clazz.getDeclaredMethod(param2methodname(s.getKey()), String.class);//??? + m1.invoke(act, s.getValue());//璁剧疆鍙傛暟鐨勫 + + } catch (NoSuchMethodException | SecurityException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + //璋冪敤execute鏂规硶鍚庯紝璇诲彇鎵鏈塯etter鏂规硶锛屽皢鍊兼斁鍒皏iew鐨刾aram閲岄潰鍘 + String jspkey=null; + View view=new View(); + Map viewParams=new HashMap(); + if(methodName==null){ + methodName="execute"; + } + try { + Method defaultmethod=clazz.getDeclaredMethod(methodName); + jspkey=defaultmethod.invoke(act).toString();//action杩斿洖鍊 + } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + Method[] methods=clazz.getDeclaredMethods(); + for(Method method:methods){ + if(method.getName().startsWith("get")){ + try { + viewParams.put(removeGet(method.getName()), method.invoke(act)); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + view.setParameters(viewParams); + //璇粁ml鏂囦欢閲岄潰鐨剅esult锛屾牴鎹繑鍥炲煎喅瀹氬摢涓猨sp锛屾斁鍒皏iew閲岄潰鐨刯sp涓 + + + //璇籸esult閲岄潰鐨勫 + List list=root.selectNodes(xpath); + Iterator it = list.iterator(); + while (it.hasNext()) { + Element elt = (Element) it.next(); + Attribute attr = elt.attribute("name"); + if(jspkey.equals(attr.getValue())){ + view.setJsp(elt.getStringValue()); + break; + } + } + return view; + } + public static String param2methodname(String name){ + //password change to setPassword + + return "set"+name.substring(0, 1).toUpperCase() + name.substring(1); + } + public static String removeGet(String name){ + String name1=name.substring(3); + String result=name1.substring(0, 1).toLowerCase()+name1.substring(1); + return result; + } + +} + + + + + + + + + + + + + + + diff --git a/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/StrutsTest.java b/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/StrutsTest.java new file mode 100644 index 0000000000..5438c50c88 --- /dev/null +++ b/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/StrutsTest.java @@ -0,0 +1,43 @@ +package com.m0305.lisestruts; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Test; + + + + + +public class StrutsTest { + + @Test + public void testLoginActionSuccess() { + + String actionName = "login"; + + Map params = new HashMap(); + params.put("name","test"); + params.put("password","1234"); + + + View view = Struts.runAction(actionName,params); + + Assert.assertEquals("/jsp/homepage.jsp", view.getJsp()); + Assert.assertEquals("login successful", view.getParameters().get("message")); + } + + @Test + public void testLoginActionFailed() { + String actionName = "login"; + Map params = new HashMap(); + params.put("name","test"); + params.put("password","123456"); //瀵嗙爜鍜岄璁剧殑涓嶄竴鑷 + + View view = Struts.runAction(actionName,params); + + Assert.assertEquals("/jsp/showLogin.jsp", view.getJsp()); + Assert.assertEquals("login failed,please check your user/pwd", view.getParameters().get("message")); + } +} diff --git a/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/View.java b/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/View.java new file mode 100644 index 0000000000..a5d0269d7f --- /dev/null +++ b/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/View.java @@ -0,0 +1,23 @@ +package com.m0305.lisestruts; + +import java.util.Map; + +public class View { + private String jsp; + private Map parameters; + + public String getJsp() { + return jsp; + } + public View setJsp(String jsp) { + this.jsp = jsp; + return this; + } + public Map getParameters() { + return parameters; + } + public View setParameters(Map parameters) { + this.parameters = parameters; + return this; + } +} diff --git a/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/struts.xml b/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/struts.xml new file mode 100644 index 0000000000..6ca2757ed3 --- /dev/null +++ b/group14/1091149131/2017JavaPro/src/com/m0305/lisestruts/struts.xml @@ -0,0 +1,11 @@ + + + + /jsp/homepage.jsp + /jsp/showLogin.jsp + + + /jsp/welcome.jsp + /jsp/error.jsp + + \ No newline at end of file diff --git a/group14/1091149131/2017JavaPro/src/com/util/Dom4JforXML.java b/group14/1091149131/2017JavaPro/src/com/util/Dom4JforXML.java new file mode 100644 index 0000000000..ddf81bffeb --- /dev/null +++ b/group14/1091149131/2017JavaPro/src/com/util/Dom4JforXML.java @@ -0,0 +1,67 @@ +package com.util; + +import java.util.Iterator; +import java.util.List; + +import org.dom4j.Attribute; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import org.junit.Test; + +public class Dom4JforXML { + @Test + public void test() throws Exception{ + //鍒涘缓SAXReader瀵硅薄 + SAXReader reader = new SAXReader(); + //Dom4JforXML.class.getResourceAsStream(""); + //璇诲彇鏂囦欢 杞崲鎴怐ocument + //System.out.println(this.getClass().getResource("/").getPath()+"struts.xml"); + Document document = reader.read(Dom4JforXML.class.getResource("struts.xml")); + //鑾峰彇鏍硅妭鐐瑰厓绱犲璞 + Element root = document.getRootElement(); + String xpath1 = "//action[@name='login']"; + + List list1=root.selectNodes(xpath1); + Iterator it = list1.iterator(); + while (it.hasNext()) { + Element elt = (Element) it.next(); + Attribute attr = elt.attribute("name"); + + } + //閬嶅巻 + //listNodes(root); + } + @Test + public void test2(){ + //Dom4JforXML.class.getClass().getResourceAsStream("struts.xml"); + String name="getName"; + //name + String name1=name.substring(3); + String result=name1.substring(0, 1).toLowerCase()+name1.substring(1); + System.out.println(result); + + } + + //閬嶅巻褰撳墠鑺傜偣涓嬬殑鎵鏈夎妭鐐 + public void listNodes(Element node){ + System.out.println("褰撳墠鑺傜偣鐨勫悕绉帮細" + node.getName()); + //棣栧厛鑾峰彇褰撳墠鑺傜偣鐨勬墍鏈夊睘鎬ц妭鐐 + List list = node.attributes(); + //閬嶅巻灞炴ц妭鐐 + for(Attribute attribute : list){ + System.out.println("灞炴"+attribute.getName() +":" + attribute.getValue()); + } + //濡傛灉褰撳墠鑺傜偣鍐呭涓嶄负绌猴紝鍒欒緭鍑 + if(!(node.getTextTrim().equals(""))){ + System.out.println( node.getName() + "锛" + node.getText()); + } + //鍚屾椂杩唬褰撳墠鑺傜偣涓嬮潰鐨勬墍鏈夊瓙鑺傜偣 + //浣跨敤閫掑綊 + Iterator iterator = node.elementIterator(); + while(iterator.hasNext()){ + Element e = iterator.next(); + listNodes(e); + } + } +} diff --git a/group14/1091149131/2017JavaPro/src/com/util/struts.xml b/group14/1091149131/2017JavaPro/src/com/util/struts.xml new file mode 100644 index 0000000000..6ca2757ed3 --- /dev/null +++ b/group14/1091149131/2017JavaPro/src/com/util/struts.xml @@ -0,0 +1,11 @@ + + + + /jsp/homepage.jsp + /jsp/showLogin.jsp + + + /jsp/welcome.jsp + /jsp/error.jsp + + \ No newline at end of file diff --git a/group14/1091149131/README.md b/group14/1091149131/README.md new file mode 100644 index 0000000000..734ffcdc97 --- /dev/null +++ b/group14/1091149131/README.md @@ -0,0 +1,7 @@ +#浣滀笟璁板綍 +2017/2/26
+鍩烘湰鏁版嵁缁撴瀯浠g爜瀹炵幇锛屽叧浜嶤PU锛屽唴瀛樼瓑鐨勭‖浠惰鏄 + +2017/3/5
+涓涓ぇ浣滀笟锛氳鍙杝truts.xml锛屽疄鐜皊truts
+ArrayUtil閲岄潰瀹炵幇鍑犱釜鍑芥暟