如何使用Servlet进行验证和跳转
初来乍到,来到实习公司领到要求我们第一个任务就是做一个JSP和Servlet实现的用户登录系统我已经做出了几个Jsp页面也就是登录页面和登录成功and失败页面但是建立到了...
初来乍到,来到实习公司 领到要求我们第一个任务就是做一个JSP和Servlet实现的用户登录系统 我已经做出了几个Jsp页面 也就是登录页面 和登录成功and失败页面 但是建立到了servlet却无从下手 不知道怎么写入代码 请大大们帮我写一个简单的 最好能告诉我 每一句都是什么意思 我好研究研究 要求:(链接数据库,能验证输入的用户名密码是否正确,并分别跳转到相应页面) 跪求了!!!
展开
5个回答
2015-08-09 · 知道合伙人互联网行家
关注
展开全部
1) redirect 方式
response.sendRedirect("/a.jsp");
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:
response.sendRedirect("URL");
跳转后浏览器地址栏变化。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
2) forward方式
RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);
Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上。
跳转后浏览器地址栏不会变化。
response.sendRedirect("/a.jsp");
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:
response.sendRedirect("URL");
跳转后浏览器地址栏变化。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
2) forward方式
RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);
Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上。
跳转后浏览器地址栏不会变化。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
展开全部
连接数据库用jdbc,Servlet的生命周期去了解下。不要急躁,自己 慢慢找最简单的Servlet跳转去看看。如果JAVA基础不过关,先搞搞JAVA基础上面的东西。好吧,你也可以当我没说过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个难了
首先是配置文件
然后写Servlet类
里面有HttpServletRequest与HttpServletResponse类
其中流程还有几点 你最好去看一些文档
在这里打出来时何等的难
首先是配置文件
然后写Servlet类
里面有HttpServletRequest与HttpServletResponse类
其中流程还有几点 你最好去看一些文档
在这里打出来时何等的难
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库的登录方法:
public boolean login(String userName, String userPassword) {
boolean result = false;
DbConn dbc = new DbConn();
try {
Connection conn = dbc.getConnection();//获得数据库的连接
String sql = " select * from users where username = ? and userpwd = ?";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1, userName);
pstm.setString(2, userPassword);
ResultSet rs = pstm.executeQuery();
// return booleanh.handler(rs);
if (rs.next()) {
result = true; //登录成功
}else{
//用户名或密码错误
}
} catch (MyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
2.servlet 代码:
String userName = request.getParameter("name"); //获得输入的用户名
String userPassword = request.getParameter("password"); //密码
UserDb db = new UserDb(); //用户登录的Db
boolean login = db.login(userName,userPassword)); //调用登录方法
if (login) {
request.getRequestDispatcher("成功页面").forward(request, response); //登录成功转发到成功页面
} else {
request.setAttribute("message", "登录失败");
request.getRequestDispatcher("登录页面").forward(request, response); //失败重新转发到用户登录页面,并给出提示
}
在这里也不能写得很完整,但还是希望可以帮到你~!~不懂可以Hi我啊!!
public boolean login(String userName, String userPassword) {
boolean result = false;
DbConn dbc = new DbConn();
try {
Connection conn = dbc.getConnection();//获得数据库的连接
String sql = " select * from users where username = ? and userpwd = ?";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1, userName);
pstm.setString(2, userPassword);
ResultSet rs = pstm.executeQuery();
// return booleanh.handler(rs);
if (rs.next()) {
result = true; //登录成功
}else{
//用户名或密码错误
}
} catch (MyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
2.servlet 代码:
String userName = request.getParameter("name"); //获得输入的用户名
String userPassword = request.getParameter("password"); //密码
UserDb db = new UserDb(); //用户登录的Db
boolean login = db.login(userName,userPassword)); //调用登录方法
if (login) {
request.getRequestDispatcher("成功页面").forward(request, response); //登录成功转发到成功页面
} else {
request.setAttribute("message", "登录失败");
request.getRequestDispatcher("登录页面").forward(request, response); //失败重新转发到用户登录页面,并给出提示
}
在这里也不能写得很完整,但还是希望可以帮到你~!~不懂可以Hi我啊!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if、else咯。
看书吧。或者在网上找个登陆的例子.
看书吧。或者在网上找个登陆的例子.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询