通过HttpServletRequest.getRequestURI
我们可以获取用户在访问 servlet 时输入的路径。
如何编写将这些 URI 映射到我的主目录中的文件的 servlet。例如,如果用户输入 servlet 的 URL
“http://localhost:8080/webbtechnologies/html/index.html”
发送文件
C:\Users\User\My Documents\Web Technologies\html\index.html
给用户。
到目前为止,这是我的代码:
public class SimpleFileManagerServlet extends HttpServlet {
private String location;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html; charset=UTF-8");
resp.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = resp.getWriter();
location = req.getRequestURI();
}
public static void main(String... args) throws Exception {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.addServlet(SimpleFileManagerServlet.class, "/");
Server server = new Server(8080);
server.setHandler(context);
server.start();
server.join();
}
}