jsp基础(四)登录实例

昨天夜里csdn 可能在维护博客更新不了

大家好,为了工具我之前学习过的jsp基础,这一集做一个用户登录的demo。主要用到jdbc(数据库为sqlserver)+jsp,很简单,本节不对jdbc做过多介绍。

首先看一下目录结构

 csdn上传图片出现问题了。以后再修改吧!

登录流程:1.用户在login.html页面输入用户名和密码

                                2.点击提交,提交表单到login_check.jsp页面

                                3.login_check.jsp页面接收到表单数据,访问数据库,如果存在对应的用户名密码,则跳转到login_success.jsp 否则跳转到login_failed.html

代码:

              login.html页面代码

<!DOCTYPE html PUBLIC"-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
        <formaction="login_check.jsp">
               <table>
                       <tr>
                               <td>用户名:</td>
                               <td><inputname="userName" type="text" /></td>
                       </tr>
                       <tr>
                               <td>密码:</td>
                               <td><inputname="password" type="text" /></td>
                       </tr>
                       <tr>
                               <td><inputtype="reset" value="重置" /></td>
                               <td><inputvalue="登录" type="submit"/></td>
                       </tr>
               </table>
        </form>
</body>
</html>


       login_check.jsp页面代码

<%@ pagelanguage="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE html PUBLIC"-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=GB18030">
<title>Insert titlehere</title>
</head>
<body>
        <%
               StringdbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=SocketServer";
               StringdbUserName = "sa";
               StringdbPassword = "123";
               Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
                               .newInstance();
               Connectioncon = DriverManager.getConnection(dbURL, dbUserName,
                               dbPassword);
               Stringsql = "select * from workuser where username=? and password=?";
               PreparedStatementpstmt = con.prepareStatement(sql);
               pstmt.setString(1,request.getParameter("userName"));
               pstmt.setString(2,request.getParameter("password"));
               ResultSetrs = pstmt.executeQuery();
               if(rs != null) {
                       if(rs.next()) {//有数据,表示登录成功
                               Stringname = rs.getString(1);
        %>
        <jsp:forwardpage="login_success.jsp">
               <jsp:paramvalue="<%=name%>" name="userName" />
        </jsp:forward>
        <%
               }else {
        %>
        <jsp:forwardpage="login_failed.jsp"></jsp:forward>
 
        <%
               }
               }else {//没有数据,登录失败
        %>
        <jsp:forwardpage="login_failed.jsp"></jsp:forward>
 
        <%
               }
        %>
</body>
</html>


       login_success.jsp页面代码

<%@ pagelanguage="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC"-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=GB18030">
<title>Insert titlehere</title>
</head>
<body>
<h1>登录成功,欢迎<%= request.getParameter("userName")%>光临</h1>
</body>
</html>


       login_failed.html页面代码

<%@ pagelanguage="java" contentType="text/html; charset=GB18030"
        pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC"-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=GB18030">
<title>Insert titlehere</title>
</head>
<body>
        <h1>登录失败</h1>
        <ahref="login.html">重新登录</a>
</body>
</html>


总结:jsp中接收表单数据使用request.getParameter()方法

       jsp服务器端跳转并传递参数用:<jsp:forwardpage=""><jsp:param value=""name=""/></jsp:forward>

       jsp的标签指令和scriptlet指令混合使用时,标签指令必须放在<%%>指令外面不可以交叉

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值