/** * <p>Title: SSOAction.java</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2014</p> * <p>Company: ColdWorks</p> * @author xuming * @date 2015-3-9 * @version 1.0 */ package com.dayaoyao.sso.server.action; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.dayaoyao.sso.po.RequestProperty; import com.dayaoyao.sso.server.dao.IUserDao; import com.dayaoyao.sso.server.dao.mybatis.impl.UserDaoImpl; import com.dayaoyao.sso.server.dao.po.User; import com.google.gson.Gson; /** * <p>Title: SSOAction.java</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2014</p> * <p>Company: ColdWorks</p> * @author xuming * @date 2015-3-9 * Email: [email protected] */ public class SSOAction extends Action{ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { BufferedReader bf = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8")); StringBuffer sb = new StringBuffer(); String line = ""; for(line = bf.readLine(); line != null; line = bf.readLine()) { sb.append(line); } // System.out.println("ok"); Gson g = new Gson(); RequestProperty reqp = g.fromJson(sb.toString(), RequestProperty.class); System.out.println(reqp); if(reqp.getAction_type().equals("getByUsername")) { String username = reqp.getUsername(); output(response, username); } return null; } public void output(HttpServletResponse response, String param) { try { OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream(), "UTF-8"); IUserDao dao = new UserDaoImpl(); User u = (User) dao.getUserByUsername(param); Gson g = new Gson(); String json = g.toJson(u); out.write(json); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } }