One 许增宝

Jsp 内置对象之人事管理系统部分代码
request:封装了由 WEB 浏览器或其他客户端生成的 HTTP 请求的细节(参数、属性、头标和数据)out:...
扫描右侧二维码阅读全文
02
2019/05

Jsp 内置对象之人事管理系统部分代码

  • request:封装了由 WEB 浏览器或其他客户端生成的 HTTP 请求的细节(参数、属性、头标和数据)
  • out:代表输出流对象
  • response:封装了返回到 HTTP 客户端的输出,向页面作者提供设置响应投标和状态码的方式
  • request作用域:用户的请求周期

通过用户登录实践:

  1. 建立用户类Emp,存储用户信息;

    1. 声明定义:账户ID,用户名,密码,邮箱
    2. 声明定义构造函数
    3. 声明定义属性方法
  2. 建立数据库类'DBUtil`,存储用户信息;

    1. 调用账户密码类Emp作为私有成员变量
    2. static静态初始化变量模拟数据库表记录
    3. 声明定义静态方法比较账户与密码是否匹配
  3. 登录表单处理 Jsp 搭建

    1. 搭建表单:form(action) -> tr -> td -> input
    2. css 渲染居中:text-align -> maigin(0 auto)
  4. control.jsp搭建

    1. 通过name属性获得accountpassword
    2. 通过requestParameter来获得accountpassword
    3. 渲染
index.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import = "java.util.*" %>
<%@ page import = "java.text.*" %>
<!DOCTYPE html>
<html>
<head>
<title>人事管理系统</title>
<style type="text/css">
    *{
        margin:0;
        padding: 0;
    }
    div form{
    width:250px;
    height:100px;
    text-align:center;
    margin: 0 auto;
    }
    body h3{
    width:150px;
    heght:30px;
    text-align:center;
    margin: 0 auto;
    }
</style>
</head>
<body>
<h3 class="header">人事管理部</h3>
<hr>
<div>
 <!-- form 封装了所有用户可以操作的一些内容 ,可以在提交表单的时候将表单内容提交给服务器端-->
 <!-- action代表了服务器端的处理程序 -->
    <form class="to" action="control.jsp">
        <table>
        <tr>
            <td>账号:</td>
            <td><input type="text" name="account"/></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="password"/></td>
        </tr>
        <tr class="bottom">
            <td><input type="submit" value="登录"/></td>
        </tr>
        </table>
    </form>
</div>
</body>
</html>
control.jsp代码
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="cn.onexzb.bean.*" %>
<%@ page import="cn.onexzb.db.*" %>


<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
<style type="text/css">
    table{
    width:300px;
    height:200px;
    margin:0 auto;
    text-align:center;
    }
</style>
</head>
<body>
    <% 
        String account = request.getParameter("account");
        String password = request.getParameter("password");
        Emp e = new Emp(account, null, password, null);
        boolean flag = DBUtil.selectEmptyByAccountAndPassword(e);
        
        if(flag){
    %>
    <h3 align="center">欢迎进入人事管理系统!</h3>
    <hr>
    <table border="1">
    <%for(String key : DBUtil.map.keySet()) 
    {
        Emp emp = DBUtil.map.get(key);
    %>
        <tr>
            <td><%= emp.getAccount() %></td>
            <td><%= emp.getName() %></td>
            <td><%= emp.getEmail() %></td>
        </tr>
    <% } %>
    </table>
    
    <%
        }
        else{
            out.println("用户名或密码错误!");
        }
    %>
</body>
</html>
Eml 类代码
package cn.onexzb.bean;

public class Emp {
    private String account;
    private String name;
    private String password;
    private String email;
    
    public Emp(String account, String name, String password, String email) {
        super();
        this.account = account;
        this.name = name;
        this.password = password;
        this.email = email;
    }

    public Emp() {
        // TODO Auto-generated constructor stub
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
DBUtil 类代码
package cn.onexzb.db;
import java.util.Map;
import java.util.HashMap;
import cn.onexzb.bean.*;
public class DBUtil {
    public static Map<String, Emp> map = new HashMap<String, Emp>();
    // 初始化静态变量
    static {
        map.put("101", new Emp("101", "AA", "123456", "AA@onexzb.cn"));
        map.put("102", new Emp("102", "BB", "123456", "BB@onexzb.cn"));
        map.put("103", new Emp("103", "CC", "123456", "CC@onexzb.cn"));
        map.put("104", new Emp("104", "DD", "123456", "DD@onexzb.cn"));
    }
    
    public static boolean selectEmptyByAccountAndPassword(Emp emp) {
        boolean flag = false;
        for(String key : map.keySet()) {
            Emp e = map.get(key);
            // 如果存在这个账户并且对应密码正确的话则 flag = true
            if(emp.getAccount().equals(e.getAccount()) 
                    && emp.getPassword().equals(e.getPassword())) {
                flag = true;
                break;
            }
        }
        return flag;
    }
}
最后修改:2019 年 05 月 02 日 11 : 19 PM

发表评论