如何让用户一定要通过登陆才能访问该页,直接通过url访问提示出错信息?

otstar 2001-07-27 09:40:40
有什么好的思路吗?

...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
misty_f 2001-07-27
  • 打赏
  • 举报
回复
你们做过URL的加密吗?
otstar 2001-07-27
  • 打赏
  • 举报
回复
有没有用javabean技术的方法?
nicolas 2001-07-27
  • 打赏
  • 举报
回复
将登录jsp的用户名与密码提交给一个servlet,该servlet初始化session变量:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.lang.*;

public class Loginservlet extends HttpServlet
{
public void doPost(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException,java.io.IOException
{
//declare local variable
PrintWriter out;
String strUserName,strPWD;
String strDBDriver,strURL;
String strSQL,strTemp;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
HttpSession session;

session=req.getSession();
out = resp.getWriter();

//get parameters
strUserName=req.getParameter("username");
strPWD=req.getParameter("password");

//set database connection parameter value
String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String strURL="jdbc:odbc:wygl";

if(strUserName!=null || strUserName.compareTo("")!=0){
//resp.sendRedirect("/wygl/jsp/relogin.jsp");
//}else{

//instance session variable:
session.putValue("login_name","");
session.putValue("logined","false");
//connect database
try{
Class.forName(strDBDriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println("error:"+e.getMessage());
}

try{
conn=DriverManager.getConnection(strURL);
stmt=conn.createStatement();
}catch(SQLException e){
System.out.println("error:"+e.getMessage());
}


strSQL="select * from sys_user where login_name='"+strUserName+"' and user_pwd='"+strPWD+"'";
try{
rs=stmt.executeQuery(strSQL);
if(rs.next()){
session.putValue("login_name",strUserName);

session.putValue("logined","true");

strTemp=rs.getString("user_name");
session.putValue("user_name",strTemp);


}catch(SQLException e){
System.err.println("error:"+e.getMessage());
}

//close database connection
try{
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
System.err.println("close():"+e.getMessage());
}
}else{
resp.sendRedirect("/wygl/jsp/errorindex.jsp");
}
}
}

在后面每调用一个jsp文件,就可以include一个验证文件,该验证文件其实就是取logined
session变量值,如果值为'false',则就把它sendRedirect向一个提示有登录失败的页面。
haodou 2001-07-27
  • 打赏
  • 举报
回复
在login.jsp登陆成功后
session.putValue("login","ok");

在其他页
if(!((String)session.getValue("login")).equals("ok"))
response.sendRedirect("login.jsp");//将用户带到登陆页
otstar 2001-07-27
  • 打赏
  • 举报
回复
具体通过什么技术啊?
microrain 2001-07-27
  • 打赏
  • 举报
回复
每一个页都加一个权限验证就行了
kangaroo 2001-07-27
  • 打赏
  • 举报
回复
对啊,我也想知道怎样做URL的加密?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧