十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
其实做站点开发的很少使用java的,像Apache等可以直接配置301跳转,可是tomcat只是一个servlet容器,没办法我只能使用过滤器来实现301跳转,下面把代码分享给大家。
创新互联公司服务项目包括龙马潭网站建设、龙马潭网站制作、龙马潭网页制作以及龙马潭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,龙马潭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到龙马潭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
import java.io.IOException;
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;
public class URLFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
final HttpServletRequest req = (HttpServletRequest) request;
final HttpServletResponse res=(HttpServletResponse)response;
String requestPage = req.getRequestURI();
String queryString = (req.getQueryString() == null ? "" : "?"+req.getQueryString());
if(req.getRequestURL().indexOf("") =0){
res.setStatus(301);
res.setHeader( "Location", ""+requestPage+queryString);
res.setHeader( "Connection", "close" );
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
转发和重定向的区别
重定向response.sendRedirect("success.jsp");
转发:request.getRequestDispatcher("success.jsp").forward(request,response);
1.转发在服务器端完成的;重定向是在客户端完成的
★2.转发的速度快;重定向速度慢
3.转发的是同一次请求;重定向是两次不同请求
★4.转发不会执行转发后的代码;重定向会执行重定向之后的代码
★5.转发地址栏没有变化;重定向地址栏有变化
6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成
问题重复了?重定向前把PrintStream out = System.out;恢复的时候,在setOut(out);不要说不行,已经测试过了。