接收并处理用户通过 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 stub28 }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 @Override18 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 stub20 }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 stub40 }41 }