天天看點

第四次團隊作業:社團申請App

概要:

基于上次軟體設計本着界面簡潔、易于使用的初衷,進行功能的實作,代碼位置:https://github.com/LinZezhong/testDemo

第一部分:軟體的使用

注冊:

第四次團隊作業:社團申請App
登入:
第四次團隊作業:社團申請App
主界面(所有社團顯示):
第四次團隊作業:社團申請App
點選社團,将跳到社團申請頁面:
第四次團隊作業:社團申請App
第四次團隊作業:社團申請App
點選申請加入,即可送出申請
第四次團隊作業:社團申請App
如果申請過該部門,将會提示“已申請過了"
第四次團隊作業:社團申請App
點選主界面”個人“,檢視修改個人資訊
第四次團隊作業:社團申請App
點選主界面”稽核“,顯示自己有權限稽核的社團部門
第四次團隊作業:社團申請App
點選相應部門,出現相應需要處理的部門申請:
第四次團隊作業:社團申請App
點選,
第四次團隊作業:社團申請App
點送出,完成該申請的稽核
第四次團隊作業:社團申請App
此時,201521121076使用者點選”我的申請“,檢視自己的申請
第四次團隊作業:社團申請App
點選,出現自己的申請結果及通知
第四次團隊作業:社團申請App

第二部分:代碼實作(采用http資料傳輸)

用戶端采用的是Eclipse編輯

結構如下:

第四次團隊作業:社團申請App

伺服器端被我架設在雲伺服器上,使用MyEclipse+Tomcat+MySQL

MyEclipse:

第四次團隊作業:社團申請App

思路:根據用戶端的不同功能要求連接配接到伺服器端的不同servlet上,有servlet調用相應的MySQL操作方法獲得相應的資料,分裝成JSON資料傳輸到用戶端。

用戶端:

使用UrlConnection以post方式向伺服器端發送請求。

請求方法:

public class GetPostUtil {
	public static final String urlBase="http://111.230.230.93:8080/LinkMySQL/servlet/";
	public static String sendPost(String url,String params){
		PrintWriter out = null;
		BufferedReader in = null;
		String json=null;
		try {
			URL realUrl = new URL(url);
			URLConnection conn = realUrl.openConnection();
			
			//設定通用的請求屬性
			conn.setRequestProperty("accept","*/*");
			conn.setRequestProperty("connecttion","Keep-Alive");
			conn.setRequestProperty("user-agent",
					"Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1)");
			//發送post請求必須設定的兩行
			conn.setDoOutput(true);
			conn.setDoInput(true);
			//擷取URLConnection對象對應的輸出流
			out = new PrintWriter(conn.getOutputStream());
			//發送請求參數
			out.print(params);
			//flush緩沖流的緩沖
			out.flush();
			//定義BufferdReader輸入流來讀取URL的響應
			in = new BufferedReader(
					new InputStreamReader(conn.getInputStream()));
			InputStream is = conn.getInputStream();
			json = netUtil.readString(is);	
			return json;
			
		} catch (Exception e) {
			System.out.println("發送post請求出現異常!"+e);
			e.printStackTrace();
		}
		finally{
			try{
				if(out !=null){
					out.close();
				}
				if(in != null){
					in.close();
				}
			}
			catch(IOException e){
				e.printStackTrace();
			}
		}
		return json;
	}
}
      

伺服器回傳的資料轉化為json字元串方法:

public class netUtil {
	public static byte[] readBytes(InputStream is){
		try {
		    byte[] buffer = new byte[1024];
		    int len = -1 ;
		    ByteArrayOutputStream baos = new ByteArrayOutputStream();
		    while((len = is.read(buffer)) != -1){
		        baos.write(buffer, 0, len);
		    }
		    baos.close();
		    return baos.toByteArray();
		    } catch (Exception e) {
		        e.printStackTrace();
		    }
		    return null ;
	}
	public static String readString(InputStream is){
		return new String(readBytes(is));
	}
}