java写一个外网访问的接口_用Java写一个我国各民族查询系统

小学期布置了这样一项作业,要用JSP去写,虽然写得很简陋,但还是特地写一篇文章记录一下。

7f55343cffb2949a8c64aabfb659925e.png

3a542411f1b70898456fe72d56bd9346.png

f0eb801d2c602617c693176b6f68ac40.png

类的设计是如下图:

9a898bab0d90b8c05eb020b3b4583108.png

entity包中的Nationality类为每一行(每个民族)数据的封装,包含五个属性,构造方法与每个属性的get()和set()方法用以在JSP中使用EL表达式获取数据。

filter包中的Filter类实现了servlet的Filter接口,用来设置UTF-8编码防止显示时候的乱码情况。

repository包中的NationRepository类专门用来处理数据库中的数据(增删改查以及显示)。

util包中的JDBCTools类提供了两个静态方法。getConnection()用来获取一个connection对象,release方法用来释放connection、statement、resultSet资源。上述两个步骤在增删改查的时候都会用到,所以封装到类中减少代码重复。

util包中的RoundToTool类提供了一个静态方法myRound,用来将一个double类型的数四舍五入到小数点后两位。

servlet包中的Nationality类继承了HttpServlet类用于处理浏览器的GET和POST请求。


直接上代码

entity包中的Nationality类

package 

servlet包中的Nationality类

package 

Filter类

package 

NationaRepository类:

package 

JDBCTools类

package 

RoundToTool类

package 

add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>新增条目</title>
</head>
<body>
    <form action="/nationality" method="post">
      民族:<input type="text" name="name"><br/>
      男性人口:<input type="text" name="mp"><br/>
      女性人口:<input type="text" name="wp"><br/>
      <input type="hidden" name="method" value="add">
      <input type="submit" value="提交">
    </form>
</body>
</html>

admin.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>管理员登陆</title>
</head>
<body>
    <form action="/nationality" method="get">
      <h4>用户名:<input type="text" name="user" id="user"></h4>
      <h4>密码:<input type="text" name="password" id="password"></h4>
      <input type="submit" value="登陆" onclick="func()">
    </form>
    <script>
      function func(){
        var user = document.getElementById("user").value;
        var password = document.getElementById("password").value;
        if(user!="admin" || password!="123"){
          alert("用户名或密码错误")
        }
      }
    </script>
</body>
</html>

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
  <head>
    <title>各民族查询系统</title>
  </head>
  <body>
    <h1>我国各民族人口构成网络查询系统</h1>
    <hr>
    <a href="/query.jsp?admin=false">查询</a>
    <a href="admin.jsp">管理员登陆</a><br/>
    <table border="1" cellspacing="0">
      <tr>
        <th>民族</th>
        <th>男性人口</th>
        <th>男性比重(%)</th>
        <th>女性人口</th>
        <th>女性比重(%)</th>
        <th>男女性别比</th>
      </tr>
      <c:forEach items="${list}" var="nationality">
      <tr>
        <td>${nationality.name}</td>
        <td>${nationality.mp}</td>
        <td>${nationality.mr}</td>
        <td>${nationality.wp}</td>
        <td>${nationality.wr}</td>
        <td>${nationality.mw}</td>
      </tr>
      </c:forEach>
    </table>
  </body>
</html>

index2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
    <title>管理员界面</title>
</head>
<body>
  <p>
    <a href="add.jsp">新增条目</a>
    <a href="/query.jsp?admin=true">查询</a>
    <a href="/nationality">退出登录</a>
  </p>
  <table border="1" cellspacing="0">
    <tr>
      <th>民族</th>
      <th>男性人口</th>
      <th>男性比重(%)</th>
      <th>女性人口</th>
      <th>女性比重(%)</th>
      <th>男女性别比</th>
    </tr>
    <tr>
      <td>${list[0].name}</td>
      <td>${list[0].mp}</td>
      <td>${list[0].mr}</td>
      <td>${list[0].wp}</td>
      <td>${list[0].wr}</td>
      <td>${list[0].mw}</td>
    </tr>
    <c:forEach items="${list}" var="nationality" begin="1">
      <tr>
        <td>${nationality.name}</td>
        <td>${nationality.mp}</td>
        <td>${nationality.mr}</td>
        <td>${nationality.wp}</td>
        <td>${nationality.wr}</td>
        <td>${nationality.mw}</td>
        <td>
          <a href="/nationality?method=deleteByName&name=${nationality.name}">删除</a>
          <a href="/nationality?method=findById&name=${nationality.name}">修改</a>
        </td>
      </tr>
    </c:forEach>
  </table>
</body>
</html>

query.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>查询界面</title>
</head>
<body>
    <form action="/nationality" method="get">
      请输入要查询的民族:<input type="text" name="name"><br/>
      <input type="hidden" name="method" value="query">
      <input type="hidden" name="admin" value="${param.admin}">
      <input type="submit" value="提交">
    </form>

</body>
</html>

showQuery.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>查询结果</title>
</head>
<body>
    民族:<input type="text" value="${nationality.name}" id="name" readonly><br/>
    男性人口:<input type="text" value="${nationality.mp}" readonly><br/>
    男性比重:<input type="text" value="${nationality.mr}" readonly><br/>
    女性人口:<input type="text" value="${nationality.wp}" readonly><br/>
    女性比重:<input type="text" value="${nationality.wr}" readonly><br/>
    男女性别比:<input type="text" value="${nationality.mw}" readonly><br/>
    <a href="" id="links">回到主界面</a>
    <script >
      var name = document.getElementById("name").value;
      if(name==""){
        alert("未查询到相关内容!")
      }
      function getQueryVariable(variable)
      {
        var query = window.location.search.substring(1);
        var vars = query.split("&");
        for (var i=0;i<vars.length;i++) {
          var pair = vars[i].split("=");
          if(pair[0] == variable){return pair[1];}
        }
        return(false);
      }
      var admin = getQueryVariable("admin");
      if(admin=="true"){
        document.getElementById("links").href="/nationality?user=admin&password=123";
      }
      if(admin=="false"){
        document.getElementById("links").href="/nationality";
      }
    </script >
</body>
</html>

update.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改条目</title>
</head>
<body>
    <form action="/nationality" method="post">
      民族:<input type="text" name="name" value="${nationality.name}" readonly><br/>
      男性人口:<input type="text" name="mp" value="${nationality.mp}"><br/>
      女性人口:<input type="text" name="wp" value="${nationality.wp}"><br/>
      <input type="hidden" name="method" value="update">
      <input type="submit" value="提交">
    </form>
</body>
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值