Java代码
import java.io.IOException;import java.io.InputStream;import java.util.Properties;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class DownServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //获取表单参数 String username = request.getParameter("username"); String password = request.getParameter("password"); //用户名和密码是否填了 if(username!=null && password!=null){ //加载文件 InputStream is = this.getServletContext().getResourceAsStream("/WEB-INF/classes/cn/itcast/web/request/config.properties"); Properties props = new Properties(); props.load(is); //请求参数与文件内容是否相同 if(props.getProperty(username).equals(password)){ //有权限 response.setHeader("content-disposition","attachment;filename=a.JPG"); }else{ //转发到message.html页面 request .getRequestDispatcher("/message.html") .forward(request,response); } }else{ //转发到login.html页面 request .getRequestDispatcher("/login.html") .forward(request,response); } } public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); this.doGet(request,response); }}
config.properties
uername=liwen
password=123456
html代码
index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>index.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <a href="/day07/DownServlet">下载</a> </body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>用户登录</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <form action="/day07/DownServlet" method="post"> <table border="1" align="center"> <caption>用户登录</caption> <tr> <th>用户名</th> <td><input type="text" name="username"/></td> </tr> <tr> <th>密码</th> <td><input type="password" name="password"/></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="提交"/> <input type="reset" value="重填"/> </td> </tr> </table> </form> </body></html>