Android 开发服务类 03_ServletForGETMethod

接收并处理用户通过 GET 方式上传的数据,一般小于 2K,并且安全性要求不高。

 1 package com.wangjialin.internet.servlet;
 2 
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.annotation.WebServlet;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 
10 
11 @WebServlet("/ServletForGETMethod")
12 public class ServletForGETMethod extends HttpServlet {
13     
14     private static final long serialVersionUID = 1L;
15    
16     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
17         
18             String name= request.getParameter("name");
19 //            String name= new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
20             String age= request.getParameter("age");
21             System.out.println("name: " + name );
22             System.out.println("age: " + age );
23     
24     }
25 
26     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
27         // TODO Auto-generated method stub
28     }
29 
30 }

HttpServletRequestEncodingWrapper (HttpServletRequest 业务包装器,解决汉字乱码的问题)

 1 package com.wangjialin.internet.filter;
 2 
 3 import java.io.UnsupportedEncodingException;
 4 
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletRequestWrapper;
 7 
 8 public class HttpServletRequestEncodingWrapper extends
 9         HttpServletRequestWrapper {
10 
11     private HttpServletRequest request;
12     public HttpServletRequestEncodingWrapper(HttpServletRequest request) {
13         super(request);
14         this.request = request;
15     }
16     
17     @Override
18     public String getParameter(String name) {
19         
20         String value = request.getParameter(name);
21         try {
22             if(value != null){
23                 return new String(value.getBytes("ISO8859-1"), "UTF-8");
24             }
25         } catch (UnsupportedEncodingException e) {
26         }
27         return super.getParameter(name);
28     }
29 
30 }

EncodingFilter

 1 package com.wangjialin.internet.filter;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.Filter;
 6 import javax.servlet.FilterChain;
 7 import javax.servlet.FilterConfig;
 8 import javax.servlet.ServletException;
 9 import javax.servlet.ServletRequest;
10 import javax.servlet.ServletResponse;
11 import javax.servlet.annotation.WebFilter;
12 import javax.servlet.http.HttpServletRequest;
13 
14 
15 @WebFilter("/*")
16 public class EncodingFilter implements Filter {
17 
18     public void destroy() {
19         // TODO Auto-generated method stub
20     }
21 
22     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
23             throws IOException, ServletException {
24         
25         HttpServletRequest req = (HttpServletRequest) request;
26         
27         if("GET".equals(req.getMethod())){
28             
29             HttpServletRequestEncodingWrapper wraper = new HttpServletRequestEncodingWrapper(req);
30             chain.doFilter(wraper, response);
31             
32         }else{
33             req.setCharacterEncoding("UTF-8");
34             chain.doFilter(request, response);
35         }
36     }
37 
38     public void init(FilterConfig fConfig) throws ServletException {
39         // TODO Auto-generated method stub
40     }
41 }
原文地址:https://www.cnblogs.com/renzimu/p/4540801.html