JSP第四周作业
index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>jsp作业</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="./">jsp作业</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="login.jsp">登录</a></li> </ul> </div> </div> </nav> <div class="container"> <div class="jumbotron"> <h1>Hello, world!</h1> <p>这是一个jsp作业</p> </div> </div> </body> </html>
number.jsp(验证码)
<%@ page contentType="image/jpeg" language="java" import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*" pageEncoding="utf-8"%> <%! Color getRandColor(int fc,int bc){ Random random = new Random(); if(fc > 255){ fc = 255; } if(bc < 255){ bc = 255; } int r = fc +random.nextInt(bc-fc); int g = fc +random.nextInt(bc-fc); int b = fc +random.nextInt(bc-fc); return new Color(r,g,b); } %> <% //设置页面不缓存 response.setHeader("Pragma","no-cache"); response.setHeader("Cache-Control","no-catch"); response.setDateHeader("Expires",0); //在内存中创建图象 int width = 60; int height = 20; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); //创建图象 Graphics g = image.getGraphics(); //生成随机对象 Random random = new Random(); //设置背景色 g.setColor(getRandColor(200,250)); g.fillRect(0,0,width,height); //设置字体 g.setFont(new Font("Tines Nev Roman",Font.PLAIN,18)); //随机产生干扰线 g.setColor(getRandColor(160,200)); for(int i = 0; i < 255; i++){ int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); } //随机产生认证码,4位数字 String sRand = ""; for(int i = 0; i < 4; i++){ String rand = String.valueOf(random.nextInt(10)); sRand += rand; //将认证码显示到图象中 g.setColor(new Color(20 + random.nextInt(110),20 + random.nextInt(110),20 + random.nextInt(110))); g.drawString(rand,13*i+6,16); } session.setAttribute("rCode",sRand); //图像生效 g.dispose(); //输出图像到页面 ImageIO.write(image,"JPEG",response.getOutputStream()); out.clear(); out = pageContext.pushBody(); %>
login.jsp
<%@ page contentType="text/html; charset=utf-8" language="java"%> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>登录</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="./">jsp作业</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="login.jsp">登录</a></li> </ul> </div> </div> </nav> <div class="container"> <div class="row"> <div class="col-md-4"> </div> <div class="col-md-4"> <form class="form-signin" method="post" action="login-check.jsp"> <%--@declare id=""--%><h2 class="form-signin-heading">于阳的jsp作业</h2> <label for="">用户名</label> <input type="text" name="username" id="username" class="form-control" placeholder="请输入用户名" required autofocus><br> <label for="">密码</label> <input type="password" name="password" id="password" class="form-control" placeholder="请输入密码" required> <label for="">验证码</label> <img src="number.jsp"> <input type="text" name="verificationCode" id="code" required> <div class="checkbox"> <label> <input type="checkbox" value="remember-me" checked="checked"> 记住密码 </label> </div> <button type="submit" class="btn btn-primary" id="btn-login">登录</button> <a href="reg.jsp" class="btn btn-default">注册</a> </form> </div> <div class="col-md-4"> </div> </div> </div> </body> </html>
login-check.jsp
<%@ page contentType="text/html; charset=utf-8" language="java"%> <html> <h1>登录成功!</h1> </html>
reg.jsp
<%@ page contentType="text/html; charset=utf-8" language="java"%> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>注册</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="./">jsp作业</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="login.jsp">登录</a></li> </ul> </div> </div> </nav> <div class="container"> <div class="row"> <div class="col-md-4"> </div> <div class="col-md-4"> <form class="form-signin" action="reg-submit.jsp" method="post"> <%--@declare id=""--%><h2 class="form-signin-heading">注册到jsp作业</h2> <div id="info"> </div> <label for="">用户名</label> <input type="text" name="username" id="username" class="form-control" placeholder="请输入用户名" required autofocus><br> <label for="">密码</label> <input type="password" name="password" id="password" class="form-control" placeholder="请输入密码" required><br> <label for="">重复密码</label> <input type="password" name="password2" id="password2" class="form-control" placeholder="请再次输入密码" required maxLength="16"><br> <button type="submit" class="btn btn-primary" id="btn-reg">注册</button> <a href="login.jsp" class="btn btn-default" id="btn-reg">返回登录</a> </form> </div> <div class="col-md-4"> </div> </div> </div> </body> </html>>
reg.submit.jsp
<%@ page contentType="text/html; charset=utf-8" language="java"%> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>结果</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="./">jsp作业</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="login.jsp">登录</a></li> </ul> </div> </div> </nav> <div class="container"> <% String username = request.getParameter("username"); String password = request.getParameter("password"); String password2 = request.getParameter("password2"); %> <% if(password.equals(password2)){ out.println("<div class='alert alert-success' role='alert'>注册成功</div>"); out.println("<ul class='list-group'>"); out.println("<li class='list-group-item'>用户名:" + username + "</li>"); out.println("<li class='list-group-item'>密码:" + password + "</li>"); out.println("</ul>"); } else{ out.println("<div class='alert alert-danger' role='alert'>两次密码输入不一致,请重新输入</div>"); } %> <!-- <%=username %> <%=password %> <%=password2 %> --> </div>