信息管理系统.0.0

教师信息管理系统

大作业写的好好的突然来个中作业也是无语…反正就是个简略版的大作业啦。
大致要求是

  1. 管理校内教师的信息。
  2. 对于普通用户,提供查询功能(允许模糊查询),输入教师的姓名,可查询得到教师的相关信息(包括所属院系电话等)。
  3. 对于管理员,提供对教师表的增删改功能。
  4. 管理员必须要登录。

因为之前就在用jsp+html 写大作业了,所以这次界面什么的写起来很快,昨天完成了前端+管理员登录功能。
前端分为6个页面,分别是

  1. home.html 欢迎界面(没什么卵用
  2. login.jsp 管理员登录界面
  3. query.jsp 普通用户查询界面
  4. add.jsp (管理员)新增教师界面
  5. delete.jsp (管理员)删除教师界面
  6. update.jsp (管理员)更新教师信息界面

其实应该可以写得更简洁一些,但目前想不到更好的方法了,所以就每个功能都写了一个页面。
在这里放一下实现登录功能的前端,servlet,业务逻辑层和数据库层(别问我为什么要写这么多层!我乐意!(其实写到这里觉得业务逻辑层完全可以不用嘛


前端:login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*, java.util.*, java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
<style type="text/css">
.center {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -200px 0 0 -250px;
    width: 500px;
    height: 305px;
    text-align: center;
    border: solid 1px #666;
}

.menu {
    position: absolute;
    margin: 0px 0 0 -1px;
    width: 100px;
    height: 231px;
    text-align: center;
    border: solid 1px #666;
}

.main {
    position: absolute;
    margin: 0px 0 0 100px;
    width: 399px;
    height: 231px;
    text-align: center;
    border: solid 1px #666;
}

.result {
    position: absolute;
    margin: 306px 0 0 100px;
    width: 399px;
    height: 225px;
    text-align: center;
    border: solid 1px #666;
}
</style>
</head>

<body>
    <%
        if (request.getAttribute("result") != null) {
            boolean registerResult = false;
            try {
                registerResult = Boolean.parseBoolean(request.getAttribute("result").toString());
            } catch (NumberFormatException e) {
                System.out.println("registerResult to int fail");
            }

            if (!registerResult) {
    %>
    <script type="text/javascript">
        alert("用户名或密码错误,请重新登录");
    </script>
    <%
        }
    }
    %>
    <div class="center">
        <h2>登录</h2>
        <div class="menu">
            <p>
                <a>登录</a>
            <p />
            <p>
                <a href="query.jsp">查询</a>
            <p />
            <p>
                <a href="home.html">返回</a>
            <p />
        </div>
        <div class="main">
            <form action="login" method="post">
                <br /> <br />
                <p>
                    用户: <input type="text" name="Username" /><br />
                </p>
                <p>
                    密码: <input type="text" name="Password" /><br />
                </p>
                <input type="submit" value="登录"/>

            </form>
        </div>
    </div>
</body>
</html>

servlet:ServletLogin.java

package servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import business.LoginUser;

/**
 * Servlet implementation class ServletLogin
 */
@WebServlet("/login")
public class ServletLogin extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        request.setCharacterEncoding("UTF-8");
        System.out.println("in servlet login doPost");
        String name = request.getParameter("Username");
        String password = request.getParameter("Password");
        LoginUser user = new LoginUser();
        request.setAttribute("result", user.login(name, password));
        if(user.login(name, password)){//若返回值为真 则进入新增页面
            request.getRequestDispatcher("/add.jsp").forward(request, response);
        }
        request.getRequestDispatcher("/login.jsp").forward(request, response);
    }

}

业务逻辑层:LoginUser.java

package business;

import database.DBUser;

public class LoginUser {
    public boolean login(String name, String password){
        DBUser user = new DBUser();
        if(!user.isExist(name, password))
            return false;//用户名不存在
        return true;
    }

}

数据库层:DBUser.java

package database;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUser {
    public boolean isExist(String name, String password){
        boolean result = false;
        DBConnect db = new DBConnect();
        Connection conn = db.connect();
        PreparedStatement pstmt;
        String sql = "select ID from LoginUser where Username = ? and Password = ?";
        ResultSet i = null;
        try {
            pstmt = (PreparedStatement) conn.prepareStatement(sql);
            pstmt.setString(1, name);
            pstmt.setString(2, password);
            i = pstmt.executeQuery();
            if(i.next())
                result = true;
            pstmt.close();
            conn.close();
            //System.out.println("i = " + i);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("user isExist fail");
        }
        return result;
    }

}

其中数据库层里有个DBConnect类,是我自己写的连接数据库的类,就是调用了Class.forName()DriverManager.getConnection() 这个网上很多的,我就不贴了。

之后可能完成普通用户的查询功能。

<think>好的,我现在需要帮助用户将第一个路由表的metric值从10改为0。首先,我得确认用户使用的操作系统,因为不同的系统可能有不同的命令。根据路由表显示的信息,特别是接口名称如wlan0eth0,这很可能是Linux系统,比如Ubuntu或者其他发行版。 接下来,用户提到的路由表条目是: Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.207.2 0.0.0.0 UG 10 0 0 wlan0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.207.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 用户想修改的是第一条默认路由的metric值。在Linux中,修改路由通常使用`route`或`ip route`命令。不过,`route`命令在某些新系统中可能已被弃用,推荐使用`ip route`。但需要确认用户是否有权限执行这些命令,可能需要sudo权限。 首先,我需要删除现有的默认路由,然后重新添加metric为0的新路由。步骤大致如下: 1. 查看当前路由表确认默认路由的信息:`ip route show` 或者 `route -n`。 2. 删除现有的默认路由:`sudo ip route del default via 192.168.207.2 dev wlan0 metric 10`。这里需要指定网关接口,因为可能有多个默认路由。 3. 添加新的默认路由,设置metric为0:`sudo ip route add default via 192.168.207.2 dev wlan0 metric 0`。 4. 验证修改后的路由表:`route -n` 或 `ip route show`。 需要注意,如果系统使用NetworkManager或其他网络管理工具,临时修改可能在重启后失效。用户可能需要通过配置文件永久更改,比如在/etc/network/interfaces或NetworkManager的配置中设置metric参数。 另外,检查是否有其他路由条目可能影响网络优先级,因为metric值越低优先级越高。修改后要确保网络连接正常,没有因为metric调整导致的路由冲突。 可能的问题:用户是否了解临时修改永久修改的区别?是否需要指导如何永久保存设置?是否需要检查接口名称是否正确,比如wlan0是否存在? 总结步骤后,需要以清晰的方式呈现给用户,确保命令准确无误,并提醒注意事项,比如权限配置持久化。</think>要修改第一条默认路由的Metric值为0,请按以下步骤操作: --- ### 一、操作步骤 #### 1. 查看当前路由表 ```bash route -n 或 ip route show ``` 确认目标路由条目:`Destination 0.0.0.0` 对应 `wlan0` 接口的Metric值为10。 #### 2. 删除原有默认路由 ```bash sudo ip route del default via 192.168.207.2 dev wlan0 metric 10 ``` *注意*: - `via 192.168.207.2` 是原网关地址 - `dev wlan0` 指定网络接口 - 必须完全匹配原路由参数 #### 3. 添加新Metric值的默认路由 ```bash sudo ip route add default via 192.168.207.2 dev wlan0 metric 0 ``` #### 4. 验证修改结果 ```bash route -n | grep '0.0.0.0' ``` 应显示: ``` 0.0.0.0 192.168.207.2 0.0.0.0 UG 0 0 0 wlan0 ``` --- ### 二、永久生效配置(针对重启后保留) #### 方案1:NetworkManager配置(推荐) 1. 编辑连接配置文件: ```bash sudo nmcli connection modify "Your-WiFi-Name" ipv4.route-metric 0 ``` 2. 重启网络连接: ```bash sudo nmcli connection down "Your-WiFi-Name" && sudo nmcli connection up "Your-WiFi-Name" ``` #### 方案2:netplan配置(Ubuntu 18.04+) ```yaml # 编辑/etc/netplan/*.yaml network: version: 2 wifis: wlan0: routes: - to: default via: 192.168.207.2 metric: 0 ``` --- ### 三、关键概念解析 | 字段 | 含义 | |-------------|--------------------------------------------------------------------| | Destination | 目标网络,`0.0.0.0`表示默认路由 | | Metric | 路由优先级,数值越小优先级越高 | | Genmask | 网络掩码,`0.0.0.0`表示匹配所有地址 | | UG | 标志组合:U=路由有效,G=通过网关 | --- ### 四、注意事项 1. **权限要求**:所有命令需`sudo`权限 2. **接口验证**:确保`wlan0`是当前活动的无线接口 3. **多路由竞争**:若存在多个默认路由,系统会自动选择Metric最小的 4. **临时性修改**:上述`ip route`命令修改在重启后失效,需通过配置文件永久化 通过以上操作,您已成功将默认路由的Metric值从10调整为0,这会提升该路由的优先级。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值