<Web应用技术>第三次作业(2)

一.任意编写3-4个页面,为每个页面添加权限控制。如果用户已经登录,则在每个页面页首提示:欢迎你,**。如果没有登录跳转到这个页面,则提示:非法访问。

本次作业花费时间较多,因为一开始不了解session的用法.最后一共写了四个代码,分别对应着不同的功能或页面.

  1. index1.jsp

这段代码主要实现的是登录页面,比较好写

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


    
账号:
密码:
  1. session.jsp

这段代码主要是控制登录,通过if语句来实现,如果账号密码正确,就输出,欢迎你,tom,并且显示可以进入下一个页面next.jsp

如果账号密码错误,就使用response对象中的重定向,跳转到下一个页面result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%     
    String str = request.getParameter("username");
    String pwd = request.getParameter("pwd");
    if(null!=str){
        if(str.equals("tom")&&pwd.equals("123")){
            session.setAttribute("username", str);
            session.setAttribute("pwd", pwd);
            out.print("欢迎你,"+session.getAttribute("username"));
        }else{
            response.sendRedirect("result.jsp");
        }
    }
%>





Insert title here


    
进入下一个页面
  1. result.jsp

这个页面是在用户输入账号密码错误之后跳转的,显示 欢迎你,null.非正常访问.

然后在后面还加了一个重新进入登录页面的链接,方便用户重新登录

<%@ page language="java" import="java.sql.*" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>


    
        
        
    
    
    欢迎你,null
    
非正常访问
重新进入登录页面
  1. next

这个页面能够体现session的作用,当进入下一个页面的时候,调用session.getAttribute("String key")就可以显示出前面已经登录成功保存的信息

<%@ page language="java" import="java.sql.*" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>


    
        
        
    
    
    欢迎你, <%=session.getAttribute("username")%>
    
你输入的账号是: <%=session.getAttribute("username")%>
你输入的密码是: <%=session.getAttribute("pwd") %>

二.运行图

1.

<Web应用技术>第三次作业(2)_第1张图片

1.这是第一张运行图


2.

<Web应用技术>第三次作业(2)_第2张图片

2.这是输入了正确的账号密码,登录成功之后的图


3.

<Web应用技术>第三次作业(2)_第3张图片

3.这是登录成功之后,点击"进入下一个页面"之后进入的页面


4.

<Web应用技术>第三次作业(2)_第4张图片

4.这是输入了错误的账号密码之后进入的页面,然后如果点击"重新进入登录页面"就会回到第一个页面


三.收获

  1. 通过本次作业熟悉了session的用法,加深了理解

  1. 并且再次复习了进入下一个页面的写法(超链接)

  1. 因为自身没有学过网页设计,所以对html的一些用法还不够熟悉.

  1. 写完这四段代码参考了很多网上的代码,模仿着写,其中也出现了很多错误.

你可能感兴趣的:(html,前端,java,servlet,web)