作为一个Java初级开发的学习者,最近学习了后台管理系统的开发。对于其中的一些问题做出总结。
第一:关于路径问题
1、获取web服务器下的文件路径
request.getRealPath("/")
application.getRealPath("")【jsp中 】
ServletContext().getRealPath("")
System.getProperty("user.dir")【不同位置调用,获取的路径是动态变化的】
2、获取本地路径
jsp中,<html:file property="myFile"/>
request.getParameter("myFile");
ActionForm.getMyFile();
获取的值相同:如D:\VSS安装目录\users.txt
*********************************
this.getClass().getClassLoader().getResource("").getPath();
==/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/
this.getClass().getResource("").getPath().toString();
==/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/bl/
3、获取相对路径
request.getContextPath();
另外:
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是" /filename",这里的/代表web发布根路径下WEB-INF/classes默认使用该方法的路径是:WEB-INF/classes.已经在 Tomcat中测试。
第二:关于过滤器使用
package com.example.filter; import jakarta.servlet.*; import jakarta.servlet.annotation.*; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebFilter(filterName = "AdminLoginFilter",urlPatterns = "/admin/*") public class AdminLoginFilter implements Filter { public void init(FilterConfig config) throws ServletException { } public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { HttpServletRequest req =(HttpServletRequest)request; Object obj = req.getSession().getAttribute("loginuser"); if(obj!=null){ chain.doFilter(request,response); }else { ((HttpServletResponse)response).sendRedirect("./login.jsp"); } } }
第三:关于界面页码的代码
package com.example.vo; import java.util.List; public class UserListByPager { /** * 总数 */ private int totalnumber; /** * 每页数量 */ private int pagesize; /** * 当前页结果集 */ private List<User_UserType_Rel> datalist; public int getTotalnumber() { return totalnumber; } public void setTotalnumber(int totalnumber) { this.totalnumber = totalnumber; } public int getPagesize() { return pagesize; } public void setPagesize(int pagesize) { this.pagesize = pagesize; } public List<User_UserType_Rel> getDatalist() { return datalist; } public void setDatalist(List<User_UserType_Rel> datalist) { this.datalist = datalist; } }
package com.example.servlet; import com.alibaba.fastjson.JSON; import com.example.Dao.UserDao; import com.example.vo.Result; import com.example.vo.UserListByPager; import com.example.vo.User_UserType_Rel; import jakarta.servlet.*; import jakarta.servlet.http.*; import jakarta.servlet.annotation.*; import java.io.IOException; import java.util.List; @WebServlet(name = "NewUserListServlet", value = "/new/ul") public class NewUserListServlet extends HttpServlet { private static int PAGE_SIZE=10; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pageNo = request.getParameter("p"); int currentPage=1; try{ currentPage = Integer.valueOf(pageNo); }catch (Exception ex) { } UserListByPager result = new UserListByPager(); result.setPagesize(PAGE_SIZE); result.setTotalnumber(UserDao.getCount()); List<User_UserType_Rel> list = UserDao.getUserListByPageInfo(currentPage,PAGE_SIZE); result.setDatalist(list); response.getWriter().print(JSON.toJSONString(result)); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }