歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android --- Http協議,解析服務器中給定的XML文件時的權限問題

Android --- Http協議,解析服務器中給定的XML文件時的權限問題。

如題:要求使用Http協議中的POST方法,解析存在服務器中的XML文件。

服務器使用的是Tomcat搭建,在webapp目錄下自定義一個xml文件。

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <error_logs>  
  3.   
  4. <log>  
  5. <id name="id">1</id>  
  6. <date name="date">2012-04-04 15:45</date>  
  7. <from name = "from">the error from 1</from>  
  8. <subject name="subject">subject1</subject>  
  9. <content name="content">content aaaaaaaaaaaaaaaa</content>  
  10. </log>  
  11.   
  12. <log>  
  13. <id name="id">2</id>  
  14. <date name="date">2012-03-12 11:33</date>  
  15. <from name = "from">the_error_from_2</from>  
  16. <subject name="subject">subject2</subject>  
  17. <content name="content">content bbbbbbbbbbbbbbbbbbb</content>  
  18. </log>  
  19.   
  20. <log>  
  21. <id name="id">3</id>  
  22. <date name="date">2012-03-02 01:00</date>  
  23. <from name = "from">the_error_from_3</from>  
  24. <subject name="subject">subject3</subject>  
  25. <content name="content">content cccccccccccccccccccc</content>  
  26. </log>  
  27.   
  28. </error_logs>  

疑點:這個xml文件,只要是開著服務器,在浏覽器中直接輸入地址就訪問,那麼如何屏蔽這種直接訪問?

辦法:

1、寫一個過濾類

  1. package me.lechao;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.File;  
  5. import java.io.FileInputStream;  
  6. import java.io.IOException;  
  7. import java.io.InputStreamReader;  
  8. import java.io.PrintWriter;  
  9.   
  10. import javax.servlet.Filter;  
  11. import javax.servlet.FilterChain;  
  12. import javax.servlet.FilterConfig;  
  13. import javax.servlet.ServletException;  
  14. import javax.servlet.ServletRequest;  
  15. import javax.servlet.ServletResponse;  
  16. import javax.servlet.http.HttpServletRequest;  
  17. import javax.servlet.http.HttpServletResponse;  
  18.   
  19. public class IsLogin implements Filter {  
  20.     FilterConfig filterConfig;  
  21.   
  22.     @Override  
  23.     public void destroy() {  
  24.         this.filterConfig = null;  
  25.     }  
  26.   
  27.     @Override  
  28.     public void doFilter(ServletRequest arg0, ServletResponse arg1,  
  29.             FilterChain arg2) throws IOException, ServletException {  
  30.         HttpServletRequest req = (HttpServletRequest) arg0;  
  31.         HttpServletResponse res = (HttpServletResponse) arg1;  
  32.   
  33.         String username = req.getParameter("username");  
  34.         String password = req.getParameter("password");  
  35.   
  36.         PrintWriter out = res.getWriter();  
  37.   
  38.         if ("1591408983".equals(username) && "123456".equals(password)) {  
  39.             //驗證成功可以訪問,屏蔽23456萬字                      
  40.         } else {  
  1.             out.print("the username or password is error!");  
  2.         }  
  3.         out.flush();  
  4.         out.close();  
  5.     }  
  6.   
  7.     @Override  
  8.     public void init(FilterConfig arg0) throws ServletException {  
  9.         this.filterConfig = arg0;  
  10.     }  
  11.   
  12. }  
Copyright © Linux教程網 All Rights Reserved