接收并处理用户通过 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. @WebServlet("/ServletForGETMethod")
  11. public class ServletForGETMethod extends HttpServlet {
  12.  
  13. private static final long serialVersionUID = 1L;
  14.  
  15. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  16.  
  17. String name= request.getParameter("name");
  18. // String name= new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
  19. String age= request.getParameter("age");
  20. System.out.println("name: " + name );
  21. System.out.println("age: " + age );
  22.  
  23. }
  24.  
  25. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  26. // TODO Auto-generated method stub
  27. }
  28.  
  29. }

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. @WebFilter("/*")
  15. public class EncodingFilter implements Filter {
  16.  
  17. public void destroy() {
  18. // TODO Auto-generated method stub
  19. }
  20.  
  21. public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
  22. throws IOException, ServletException {
  23.  
  24. HttpServletRequest req = (HttpServletRequest) request;
  25.  
  26. if("GET".equals(req.getMethod())){
  27.  
  28. HttpServletRequestEncodingWrapper wraper = new HttpServletRequestEncodingWrapper(req);
  29. chain.doFilter(wraper, response);
  30.  
  31. }else{
  32. req.setCharacterEncoding("UTF-8");
  33. chain.doFilter(request, response);
  34. }
  35. }
  36.  
  37. public void init(FilterConfig fConfig) throws ServletException {
  38. // TODO Auto-generated method stub
  39. }
  40. }

Android 开发服务类 03_ServletForGETMethod的更多相关文章

  1. Android 开发服务类 05_ ApkPatchDemo

    APP 增量更新服务端[https://github.com/cundong/SmartAppUpdates] import com.cundong.common.Constants; import ...

  2. Android 开发服务类 04_ServletForPOSTMethod

    ServletForPOSTMethod 业务类 package com.wangjialin.internet.servlet; import java.io.IOException; import ...

  3. Android 开发服务类 02_NewsListServlet

    Servlet implementation class NewsListServlet package com.wangjialin.server.xml; import java.io.IOExc ...

  4. Android 开发服务类 01_ServletForXML

    Servlet implementation class NewsListServlet package com.wangjialin.server.xml; import java.io.IOExc ...

  5. Android开发工具类

    7种无须编程的DIY开发工具 你知道几个? 现如今,各种DIY开发工具不断的出现,使得企业和个人在短短几分钟内就能完成应用的创建和发布,大大节省了在时间和资金上的投入.此外,DIY工 具的出现,也帮助 ...

  6. Android开发——Context类的各种细节问题

    0. 前言   Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了.但实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学习一下那些你所不知道的细节. ...

  7. Android 开发工具类 35_PatchUtils

    增量更新工具类[https://github.com/cundong/SmartAppUpdates] import java.io.File; import android.app.Activity ...

  8. Android 开发 Camera类的拍照与录像

    前言 在开发Android应用的时候,如果需要调用摄像头拍照或者录像,除了通过Intent调用系统现有相机应用进行拍照录像之外,还可以通过直接调用Camera硬件去去获取摄像头进行拍照录像的操作.本篇 ...

  9. Android 开发工具类 27_多线程下载大文件

    多线程下载大文件时序图 FileDownloader.java package com.wangjialin.internet.service.downloader; import java.io.F ...

随机推荐

  1. Ansible 笔记 (3) - 编写 playbook

    playbook 相当于多个命令的编排组合然后一起运行,类似写脚本.在学习 playbook 之前需要了解 yaml 格式. 编写playbook的步骤: 定义主机与用户 编写任务列表 执行 play ...

  2. [笔记]linux命令学习

    scp /root/Downloads/cymothoa-1-beta.tar.gz root@192.168.1.66:/root/ rc.local exit 0前加入: sh /root/abc ...

  3. 使用process_monitor.sh监控hadoop进程的crontab配置

    可以从下列链接找到process_monitor.sh:https://github.com/eyjian/libmooon/blob/master/shell/process_monitor.sh ...

  4. js基础学习笔记(五)

    多种选择(Switch语句) 当有很多种选项的时候,switch比if else使用更方便. 语法: switch(表达式) { case值1: 执行代码块 1 break; case值2: 执行代码 ...

  5. ORBSlam with ROS

    ...相机标定 calibration 基本就是做CV 的常识 ORBSlam源码:

  6. HDU 1166敌兵布阵 2016-09-14 18:58 89人阅读 评论(0) 收藏

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. IT人员如何有效规划自己时间

          中午和任职 DBA 的朋友聊天,他说:"老板老是要我把工作时间填长一点,让整个部门的工作时间比较好看,所以本来做 1 个小时的事要写 3 个小时."但我回答说若这件事情 ...

  8. Elasticsearch 相关 api 操作

    A. es 操作 1. 检查 es 集群健康状态 2. 获取集群中的节点列表 3. 创建索引 4. 获取索引 5. 索引文档 6. 查询文档 7. 删除索引 8. 更新文档 9. 删除文档 10. 批 ...

  9. python 应用 base64、hmac、hashlib包实现:MD5编码 base64编码解码、SHA256编码、urlsafe_b64encode编码等等基本所有的加密签名的方法

    用python做HTTP接口自动化测试的时候,接口的很多参数是经过各种编码加密处理后在传到后台的,这里列举出python实现 应用 base64.hmac.hashlib包实现:md5编码 sha1编 ...

  10. 设计模式总结(《Head First设计模式》学习总结)

    写在前面: 学习过程中不仅要熟练掌握技能,理论的消化吸收也必不可少.虽然个人更倾向于学习技术类的东西(短时间的精力投入很快就能看到成效...),但看了很多前辈的经验总结后才知道理论性的东西是绝对不能忽 ...