第八周作业

1.登陆
输入用户名密码,判断用户名和密码相同,登陆成功,session中保存用户的用户名,进入主页main.jsp,主页有一个退出按钮,点击,回到登陆页login.jsp。要求:退出登录后,如果在浏览器直接输入主页main.jsp,访问不了,直接跳到登陆页。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<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)){
    //转发到ok页面,但是url没变
    session.setAttribute("uname", uname);
    request.getRequestDispatcher("gouwu.jsp").forward(request,response);
  }
  else{
    //重定向回login.jsp,浏览器url也变
    response.sendRedirect("no.jsp");
  }
%>
</body>
</html>
<%--
  Created by IntelliJ IDEA.
  User: 11512
  Date: 2022/4/20
  Time: 9:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>login</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" >

  <input type="button" value="登录" onClick="validate()">
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>logout</title>
</head>
<body>
<%

    session.invalidate();
    response.setHeader("refresh", "5;url=login.jsp");

%>
退出成功
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>gouwu</title>
</head>
<body>
<%

    String uname=(String)session.getAttribute("uname");
    //如果他是空,说明没登陆,直接访问该页面了
    if(uname==null)
        response.sendRedirect("login.jsp");

%>
欢迎你<%=uname %>
<a href="logout.jsp">退出登录</a>
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>buy</title>
  </head>
  <body >
  <%
    //从session中找到购物车集合
    ArrayList books=(ArrayList)session.getAttribute("cart");
    //如果没有找到(第一回加购),就创建一个集合,并放到session中
    if(books==null){
      books=new ArrayList();
      session.setAttribute("cart", books);
    }
    request.setCharacterEncoding("utf-8");
    //获取上一页面的书名
    String bookname=request.getParameter("bookname");
    //把这个书名装到集合中
    books.add(bookname);
  %>
  您的购物车信息是:
  <%
    //循环遍历集合,输出购物车内容
    for(int i=0;i<books.size();i++){
      out.print(books.get(i).toString());
    }
  %>
  </body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>no</title>
  </head>
  <body >
  <h1>登陆失败!!</h1>
  <a href="jsSubmit.jsp">返回首页面</a>
  <%response.setHeader("refresh", "5;url=login.jsp");%>
  </body>
</html>

 

 

 

 

2.购物车
和上一题一起,在main.jsp中做一个购物车,里面显示3个商品名和价格 每一个后面有一个加入购物车按钮,main.jsp中有一个按钮(或者超链接)可以显示购物车。(选作:在购物车中加删除按钮删除商品)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>buy</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>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>gouwu</title>
</head>
<body>
<%

    String uname=(String)session.getAttribute("uname");
    //如果他是空,说明没登陆,直接访问该页面了
    if(uname==null)
        response.sendRedirect("login.jsp");

%>
欢迎你<%=uname %>
<a href="logout.jsp">退出登录</a>
<form action="buy.jsp">
           <hr>
            是否加入购物车?<br> <input name="item" type="checkbox" value="云烟">
           云烟 $20<br> <input name="item" type="checkbox" value="华子">
        华子 $50<br> <input name="item" type="checkbox" value="黄金叶">
            黄金叶 $12
         <hr>
             <input type="submit" value="加入购物车">
      </form>

</body>
</html>

 

posted @ 2022-04-24 17:10  1902sjw  阅读(13)  评论(0编辑  收藏  举报