jsp如何防止用户直接输入其他页面的URL,跳过登陆界面呢? jsp如何防止用户直接输入其他页面的URL,跳过登陆界面呢?我看到很多人使用Session或者设置过滤器,请说的详细点,最好有代码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【zylt】截止到2008-06-26 10:23:23的历史汇总数据(不包括此帖):发帖数:2 发帖分:30 结贴数:1 结贴分:10 未结数:1 未结分:20 结贴率:50.00 % 结分率:33.33 % 楼主加油 没个页面检查session就可以了,如果 session没有的话就转到登陆的页面 在web.xml中配置过滤器啊,过滤器里面主要的代码就是判断该用户是否已经登录,也就是session里面有没有用户信息。没有的话就跳到登录页面让登录就OK了。 比如在web.xml中这样配置过滤器,用于过滤/webadmin目录下所有的jsp页面<filter> <filter-name>userFilter</filter-name> <filter-class>jp.nec.web.filter.MyFilter</filter-class></filter><filter-mapping> <filter-name>userFilter</filter-name> <url-pattern>/webadmin/*</url-pattern></filter-mapping>下面是一个简单的过滤器代码,用于过滤未登录用户public class MyFilter implements Filter { public void destroy() { //TODO } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest hrequest = (HttpServletRequest) request; HttpSession session=hrequest.getSession(); //这里判断session中是否有用户信息,假设判断用户名 if (session.getAttribute("adminUser")==null||session.getAttribute("adminUser").equals("")) { //如果没登录,则跳到登录页面,这里假设登录页面的目录为/web/Login.jsp hrequest.getRequestDispatcher("/web/Login.jsp").forward(request, response); } else { // 如果登录了,继续往下执行 */ chain.doFilter(request, response); } } public void init(FilterConfig arg0) throws ServletException { }} 晕,这是个不是问题的问题。任何java程序要跑起来的话,必须编译为class文件啊包括普通的*.java,*.jsp这些都最终是要被编译为*.class文件才能够执行。建议你把基础在好好看看,这些最基本的东西都要清楚才好。 我以前没做过Web开发,这次时间紧。必须一边做一边学,基础的东西只有用到的时候学了。 如果你用的是servlet的话进哪个登陆页面的时候可以这样String forward = "";if(role == 用户1) { forward = "用户1v.jsp";}if...RequestDispatcher dis = request.getRequestDispatcher(forward);dis.forward(request, response);如果用户种类很多的话可以把他们的登陆页面设成index+"用户"这样forward = “index”+"用户"; 如果是jsp的话,引入另一个jsp吧(里面判断用户是否登录) 检测session或其他验证信息;用servlet过滤器 在其他jsp中做如下处理<%String a=session.getAttribute(??);if(a!=null){ symol=1;}else{ symol=2; 全部都跳到一个抱错的jsp,这个error.jsp自动在回去登陆页}%> 角色不同跳转到不同页面String role = session.getAttribute("role");if(role.equals("admin")){ 跳转}else if(role.equals("user")){ 跳转到另外页面....} else if{ ......} 登陆的时候把用户名放到 Session 中。sess.setAtrXXXX("username",username);在 JSP页面。sessionScope.getatrXXX("username");<c:if($test==null)><c:forward.......</c:if>唉。,。环境把俺给害了。。现在发现。没得环境。好多东西都不会写了 用session是不行的,如果在登陆检查或主页设置session变量,跳过主页和登录而直接在其他页面调用session会报错,因为session中的变量没有定义 JFreeChart1.0.13如何设置图表样式 提问,web开发中ibatis的问题,有点急!大家来帮忙~~~ 怎样在Jsp中从客户端对Web服务器中的Word文档进行修改 如何通过绝对路径显示图片 高分求助? 有个问题,有关jsp里javascript的内容和jsp代码本身之间的变量传递问题 jsp语法形式这样的语句该怎样改呢??高手拿分! jsp 一个非常可爱的问题:-) 请大家给我些意见和建议! mysql中key是MUL是什么意思? Session超时处理
楼主【zylt】截止到2008-06-26 10:23:23的历史汇总数据(不包括此帖):
发帖数:2 发帖分:30
结贴数:1 结贴分:10
未结数:1 未结分:20
结贴率:50.00 % 结分率:33.33 %
楼主加油
<filter-name>userFilter</filter-name>
<filter-class>jp.nec.web.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>userFilter</filter-name>
<url-pattern>/webadmin/*</url-pattern>
</filter-mapping>下面是一个简单的过滤器代码,用于过滤未登录用户public class MyFilter implements Filter { public void destroy() {
//TODO
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest hrequest = (HttpServletRequest) request;
HttpSession session=hrequest.getSession();
//这里判断session中是否有用户信息,假设判断用户名
if (session.getAttribute("adminUser")==null||session.getAttribute("adminUser").equals("")) {
//如果没登录,则跳到登录页面,这里假设登录页面的目录为/web/Login.jsp
hrequest.getRequestDispatcher("/web/Login.jsp").forward(request, response); } else {
// 如果登录了,继续往下执行 */
chain.doFilter(request, response);
}
} public void init(FilterConfig arg0) throws ServletException { }}
任何java程序要跑起来的话,必须编译为class文件啊
包括普通的*.java,*.jsp这些都最终是要被编译为*.class文件才能够执行。
建议你把基础在好好看看,这些最基本的东西都要清楚才好。
进哪个登陆页面的时候可以这样String forward = "";
if(role == 用户1) {
forward = "用户1v.jsp";
}
if...
RequestDispatcher dis = request.getRequestDispatcher(forward);
dis.forward(request, response);
如果用户种类很多的话
可以把他们的登陆页面设成index+"用户"
这样forward = “index”+"用户";
用servlet过滤器
<%
String a=session.getAttribute(??);
if(a!=null)
{
symol=1;
}
else
{
symol=2;
全部都跳到一个抱错的jsp,这个error.jsp自动在回去登陆页
}
%>
String role = session.getAttribute("role");
if(role.equals("admin")){
跳转
}else if(role.equals("user")){
跳转到另外页面....
} else if{
......
}
<c:if($test==null)>
<c:forward.......
</c:if>
唉。,。环境把俺给害了。。
现在发现。没得环境。好多东西都不会写了