编写了个过滤类,必须登陆才能进行以后的操作,login.jsp在tomcat的web-info目录下,其他的操作都在我新建的main文件夹下,当直接输入http://localhost:8080/struts/main
会自动让你回到login.jsp页面登陆,
过滤类:package org.langsin.news.database;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 SecurityFilter implements Filter { public void destroy() {
} public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)res;
if(request.getSession().getAttribute("user") == null)
{
response.sendRedirect(response.getContentType()+"/login.jsp");
}
chain.doFilter(request, response);
} public void init(FilterConfig arg0) throws ServletException {
}}
在servlet配置如下
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>security</filter-name>
<filter-class>org.langsin.news.database.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>security</filter-name>
<url-pattern>/main/*</url-pattern>
</filter-mapping>
可当我输入http://localhost:8080/struts/main时,却找不到login。jsp,地址栏却变成http://localhost:8080/struts/main/null/login.jsp 真的很不理解
会自动让你回到login.jsp页面登陆,
过滤类:package org.langsin.news.database;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 SecurityFilter implements Filter { public void destroy() {
} public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)res;
if(request.getSession().getAttribute("user") == null)
{
response.sendRedirect(response.getContentType()+"/login.jsp");
}
chain.doFilter(request, response);
} public void init(FilterConfig arg0) throws ServletException {
}}
在servlet配置如下
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>security</filter-name>
<filter-class>org.langsin.news.database.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>security</filter-name>
<url-pattern>/main/*</url-pattern>
</filter-mapping>
可当我输入http://localhost:8080/struts/main时,却找不到login。jsp,地址栏却变成http://localhost:8080/struts/main/null/login.jsp 真的很不理解
解决方案 »
- displaytag怎么实现跳转到第几页
- spring annotation 声明事务 就助!!!
- 关于权限系统的问题
- struts2.0 Could not find action or result
- 向大家请教:关于多个类共用Log4j的问题。
- hibernate综合查询
- 有关tomcat运行一段时间后需要重启 后才能登陆的问题(急)
- httpclient 抓取页面 页面嵌套<% ...%>怎么抓取
- Struts问题:The requested resource (/user/userAction.do) is not available.
- 请问有没有介绍EJB比较好的书
- 小鸟提问:MVC中的javaBean可以忽略么?
- 大家来解释一下这个java
支持1楼
中WEB-INF的配置,把其中的WEB.XML中的首页改为你的页面地址
请帮我解决啊
中的response.getContentType()没得到东西,显示为null,所以你的才会那样
直接改成response.sendRedirect("/login.jsp");应该可以解决
应该是request.getContextPath()吧
还是不行啊
试试