第八周作业
1.登陆
输入用户名密码,判断用户名和密码相同,登陆成功,session中保存用户的用户名,进入主页main.jsp,主页有一个退出按钮,点击,回到登陆页login.jsp。要求:退出登录后,如果在浏览器直接输入主页main.jsp,访问不了,直接跳到登陆页。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% request.setCharacterEncoding("utf-8"); String uname = request.getParameter("uname"); String upwd = request.getParameter("upwd"); if (uname.equals(upwd)){ //转发到ok页面,但是url没变 session.setAttribute("uname", uname); request.getRequestDispatcher("main.jsp").forward(request,response); } else{ //重定向回login.jsp,浏览器url也变 response.sendRedirect("no.jsp"); } %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <script type="text/javascript"> function validate(){ if(loginForm.uname.value==""){ alert("账号不能为空!"); return; } if(loginForm.upwd.value==""){ alert("密码不能为空!"); return; } loginForm.submit(); } </script> <form name="loginForm" action="dologin.jsp" method="post"> 用户名:<input type="text" name="uname" ><br> 密码: <input type="password" name="upwd"><br> <input type="button" value="登录" onClick="validate()"> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'main.jsp' starting page</title> </head> <body> <h1>登陆成功!</h1> <% String uname = (String) session.getAttribute("uname"); if (uname == null) response.sendRedirect("login.jsp"); %> <form name="form1" action="out.jsp" method="post"> <input type="submit" value="退出登录"> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'no.jsp' starting page</title> </head> <body> <h1>登陆失败!!</h1> 你登陆的用户名<%=request.getParameter("uname") %>错误 </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <% String uname=(String)session.getAttribute("uname"); //如果他是空,说明没登陆,直接访问该页面了 if(uname==null) response.sendRedirect("login.jsp"); %> <a href="out.jsp">退出登录</a> <br> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'out.jsp' starting page</title> </head> <body> <% session.invalidate(); response.setHeader("refresh","5;url=login.jsp"); %> 退出成功! </body> </html>
2.购物车
和上一题一起,在main.jsp中做一个购物车,里面显示3个商品名和价格 每一个后面有一个加入购物车按钮,main.jsp中有一个按钮(或者超链接)可以显示购物车。(选作:在购物车中加删除按钮删除商品)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'main.jsp' starting page</title> </head> <body> <h1>登陆成功!</h1> <% String uname = (String) session.getAttribute("uname"); //如果他是空,说明没登陆,直接访问该页面了 if (uname == null) response.sendRedirect("login.jsp"); %> <form action="last.jsp" method="post"> 商品:<br> <br> 苹果 4.42<input type="checkbox" name="item" value="苹果">加入购物车 <br> 橘子5.00<input type="checkbox" name="item" value="橘子"> 加入购物车 <br> 葡萄6.66<input type="checkbox" name="item" value="葡萄"> 加入购物车 <br> 哈密瓜9.99<input type="checkbox" name="item" value="哈密瓜"> 加入购物车<br><br> <input type="submit" value="加入购物车"> </form> <form name="form1" action="out.jsp" method="post"> <input type="submit" value="退出登录"> </form> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'last.jsp' starting page</title> </head> <body> <h2>购物车</h2> <% request.setCharacterEncoding("utf-8"); String itemName[]=request.getParameterValues("item"); if(itemName==null){ out.print("购物车为空"); } else{ for(int k=0;k<itemName.length;k++){ out.print("("+(k+1)+")"+itemName[k]+"<br>"); } } %> </body> </html>