java web项目启动进入首页的配置方式(包含过滤跳转首页实现) 您所在的位置:网站首页 怎么打开javaweb项目网页 java web项目启动进入首页的配置方式(包含过滤跳转首页实现)

java web项目启动进入首页的配置方式(包含过滤跳转首页实现)

2024-04-14 18:56| 来源: 网络整理| 查看: 265

本文为博主原创,未经允许不得转载:

      项目启动成功,进入首页的方式,我们往往在web.xml 中通过以下的方式默认进入跳转首页,

index.jsp

在项目启动成功之后,在浏览器输入:http://localhost:端口号/项目名称,回车之后就可以进入index.jsp页面。

另外一种方法通过后代代码实现跳转首页的方式是在index.jsp中进行重定向,进入后代处理,然后再跳转首页,

Insert title here

第三种方法是在这边进行特殊批注的,在项目中,也多用这种方式进行实现,即通过过滤器方式进入首页的方式:

       其处理的逻辑为获取URL,并对URL进行判断,判断URL携带的参数,如果URL携带参数正确,其可以进行正常的处理和响应,

当没有携带对应的参数时,则进入首页。

将代码展示如下,启动默认跳转的为登录页:

     

package com.test.filter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import com.test.modules.mobile.UserInfo; import com.test.utils.SystemConstant; public class SystemFilter implements Filter { private static final List STRINGS = new ArrayList(); //此处可以定义加载时要过滤的资源类型 static { STRINGS.add("jsp"); STRINGS.add("js"); STRINGS.add("css"); STRINGS.add("images"); STRINGS.add("bmp"); STRINGS.add("gif"); STRINGS.add("jpg"); STRINGS.add("jpeg"); STRINGS.add("png"); } @Override public void destroy() { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; //通过过滤器实现编码方式的控制 request.setCharacterEncoding(SystemConstant.UTF8_CODE); response.setCharacterEncoding(SystemConstant.UTF8_CODE); String url = request.getRequestURI(); String path = request.getContextPath(); UserInfo userInfo = (UserInfo) request.getSession().getAttribute("loginUser"); //此处用来判断浏览器缓存用户数据是否存在 if (!url.contains("login")&& (!isAuth(url) || url.contains(".json"))) { if (null == userInfo || StringUtils.isBlank(userInfo.getLoginName())) { String tip = "window.parent.location.href='" + path + "/login'"; //此处用来后台请求跳转的路径,当请求到此处时,就会进入对应的后台路径中进行请求 PrintWriter outprint = response.getWriter(); outprint.write(tip); outprint.flush(); return; } else { chain.doFilter(request, response); } } else { chain.doFilter(request, response); } } @Override public void init(FilterConfig filterConfig) throws ServletException {} public boolean isAuth(String url) { for (String string : STRINGS) { if (url.contains(string)) { return true; } } return false; } }

同时,在web.xml文件中配置过滤器:

SystemFilter com.test.filter.SystemFilter SystemFilter *

 

第三种方式,其实就是对过滤器的应用及理解,过滤器用的地方很多,在此处记录一下,所谓积少成多。。

加油,哈哈哈

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有