JSP第八周作业
1.登陆
输入用户名密码,判断用户名和密码相同,登陆成功,session中保存用户的用户名,进入主页main.jsp,主页有一个退出按钮,点击,回到登陆页login.jsp。要求:退出登录后,如果在浏览器直接输入主页main.jsp,访问不了,直接跳到登陆页。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>login</title> </head> <body> <form name="form" action="dologin.jsp" method="post"> 用户名:<input type="text" name="uname"><br> 密码:<input type="password" name="upwd"><br> <input type="submit" value="登录" > </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>dologin</title> </head> <body> <% request.setCharacterEncoding("utf-8"); String uname=request.getParameter("uname"); String upwd=request.getParameter("upwd"); if(uname.equals(upwd)){ session.setAttribute("uname", uname); request.getRequestDispatcher("main.jsp").forward(request,response); }else{ request.getRequestDispatcher("no.jsp").forward(request,response); } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>main</title> </head> <body> <h1>登陆成功!</h1> <% String uname = (String) session.getAttribute("uname"); if (uname == null) response.sendRedirect("login.jsp"); %> <form name="form1" action="logout.jsp" method="post"> <input type="submit" value="退出登录"> </form> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>no</title> </head> <body> <h1>登陆失败!!</h1> <%response.setHeader("refresh", "5;url=login.jsp");%> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>logout</title> </head> <body> <% session.invalidate(); response.setHeader("refresh", "5;url=login.jsp"); %> </body> </html>
2.购物车
和上一题一起,在main.jsp中做一个购物车,里面显示3个商品名和价格 每一个后面有一个加入购物车按钮,main.jsp中有一个按钮(或者超链接)可以显示购物车。(选作:在购物车中加删除按钮删除商品)
package ccc; public class bbb { String name; String price; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } public bbb(String name, String price) { super(); this.name = name; this.price = price; } }
<%@page import="ccc.bbb"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>main</title> </head> <body> <h1>登陆成功!</h1> <% request.setCharacterEncoding("utf-8"); String name1 = request.getParameter("name"); String price1 = request.getParameter("price"); if (name1 != null) { String name = new String(name1.getBytes("ISO-8859-1"), "utf-8"); bbb b = new bbb(name,price1); ArrayList<bbb> list = (ArrayList<bbb>) session .getAttribute("list"); if (list == null) { list = new ArrayList<bbb>(); } list.add(b); session.setAttribute("list", list); } String uname = (String) session.getAttribute("uname"); //如果他是空,说明没登陆,直接访问该页面了 if (uname == null) { response.sendRedirect("login.jsp"); } else { %> <a href="logout.jsp">退出</a> <br> 铅笔 2.5 <a href="main.jsp?name=铅笔&price=2.5">加入</a> <br> 橡皮 1.2 <a href="main.jsp?name=橡皮&price=1.2">加入</a> <br> 书包 50 <a href="main.jsp?name=书包&price=50">加入</a> <br> <form action="show.jsp"> <input type="submit" value="查看购物车"> </form> <%} %> </body> </html>
<%@page import="ccc.bbb"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>show</title> </head> <body> 欢迎来到购物车 <a href="logout.jsp">退出</a><br> <% //从session中拿到集合,遍历 ArrayList<bbb> list=(ArrayList<bbb>)session.getAttribute("list"); if(list!=null){ for(int i=0;i<list.size();i++){ out.print(list.get(i).getName()+","+list.get(i).getPrice()); out.print("<a href='del.jsp?name="+list.get(i).getName()+"'>删除</a><br>"); } } %> <a href="main.jsp">返回购物页面</a> </body> </html>
<%@page import="ccc.bbb"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>del</title> </head> <body> <% String name1 =request.getParameter("name"); String name=new String(name1.getBytes("ISO-8859-1"),"UTF-8"); ArrayList<bbb> list=(ArrayList<bbb>)session.getAttribute("list"); for(int i=0;i<list.size();i++){ if(list.get(i).getName().equals(name)) list.remove(i); } session.setAttribute("list", list); response.sendRedirect("show.jsp"); %> </body> </html>