第八周作业

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>

 

 

 

 

 

 

posted @ 2022-04-24 12:46  ·梓清  阅读(4)  评论(0编辑  收藏  举报