SSH+Android之Struts


使用json数据交互信息

首先搭配SSH服务端,目前只用了Struts2,首先导入包,下面是需要的包



web.xml的代码

[html]

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.   <welcome-file-list>  
  8.     <welcome-file>index.jsp</welcome-file>  
  9.   </welcome-file-list>  
  10.     <filter>  
  11.     <filter-name>struts2</filter-name>  
  12.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  13.   </filter>  
  14.   <filter-mapping>  
  15.     <filter-name>struts2</filter-name>  
  16.     <url-pattern>/*</url-pattern>  
  17.   </filter-mapping>  
  18.  </web-app>  
struts.xml代码

[html]

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">  
  3. <struts>  
  4.   <package name="as" extends="json-default">  
  5.     <action name="login" class="as.action.LoginAction" method="login">  
  6.      <result type="json" ></result>  
  7.     </action>  
  8.   </package>  
  9. </struts>      
项目的结构

LoginAction.java代码

[java]

  1. package as.action;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import javax.servlet.http.HttpServletRequest;  
  7. import javax.servlet.http.HttpServletResponse;  
  8.   
  9. import org.apache.struts2.interceptor.ServletRequestAware;  
  10. import org.apache.struts2.interceptor.ServletResponseAware;  
  11.   
  12. import net.sf.json.JSONObject;  
  13.   
  14. import as.model.User;  
  15.   
  16. import com.opensymphony.xwork2.ActionSupport;  
  17. import com.opensymphony.xwork2.ModelDriven;  
  18.   
  19. public class LoginAction extends ActionSupport implements ServletResponseAware ,ServletRequestAware,ModelDriven<User>{  
  20. private User user;  
  21. private HttpServletResponse response;  
  22. private HttpServletRequest request;  
  23. public User getUser() {  
  24.     return user;  
  25. }  
  26. public void setUser(User user) {  
  27.     this.user = user;  
  28. }  
  29. public void setServletResponse(HttpServletResponse arg0) {  
  30.     // TODO Auto-generated method stub   
  31.     this.response = arg0;  
  32. }  
  33.   
  34. public void setServletRequest(HttpServletRequest arg0) {  
  35.     // TODO Auto-generated method stub   
  36.     this.request=arg0;  
  37. }  
  38.   
  39. public void login() {  
  40.     try {  
  41.         // TODO Auto-generated method stub   
  42.         this.response.setContentType("text/html;charset=utf-8");    
  43.         this.response.setCharacterEncoding("UTF-8");    
  44.         JSONObject json=new JSONObject();  
  45.         Map map=new HashMap<Object, String>();  
  46.         map.put("name", user.getName());  
  47.         map.put("pwd", user.getPwd());  
  48.         json.put("LoginInfo", map);  
  49.         response.getWriter().write(json.toString());  
  50.     } catch (Exception e) {  
  51.         // TODO: handle exception   
  52.         e.printStackTrace();  
  53.     }  
  54.       
  55.  }  
  56. public User getModel() {  
  57.     // TODO Auto-generated method stub   
  58.     if (user==null) {  
  59.         return user=new User();  
  60.     }  
  61.     return user;  
  62. }     
  63. }  
User.java

[java]

  1. package as.model;  
  2.   
  3. public class User {  
  4.     private String name;  
  5.     private String pwd;  
  6.     public String getName() {  
  7.         return name;  
  8.     }  
  9.     public void setName(String name) {  
  10.         this.name = name;  
  11.     }  
  12.     public String getPwd() {  
  13.         return pwd;  
  14.     }  
  15.     public void setPwd(String pwd) {  
  16.         this.pwd = pwd;  
  17.     }  
  18.       
  19. }  
view层 index.jsp  代码

[html]

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'index.jsp' starting page</title>  
  13.     <meta http-equiv="pragma" content="no-cache">  
  14.     <meta http-equiv="cache-control" content="no-cache">  
  15.     <meta http-equiv="expires" content="0">      
  16.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  17.     <meta http-equiv="description" content="This is my page">  
  18.     <!-- 
  19.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  20.     -->  
  21.   </head>  
  22.     
  23.   <body>  
  24.    <center>  
  25.     <form action="login" method="post">  
  26.    用户名: <input type="text" name="name"><br>  
  27.    密  码: <input type="password" name="pwd"><br>    
  28.    <input type="submit" value="登陆" name="submit">     <input type="reset" value="取消" name="reset">  
  29.     </form>  
  30.     </center>  
  31.   </body>  
  32. </html>  
  33. 测试  用户名:2222 密码:1111   

现在在Android上面测试,Android 项目构架

  • 1
  • 2
  • 下一页

相关内容