4.30极限测试代码

以下代码为部分代码:

index.jsp

<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<html>
<head>
    <title>首页</title>
    <link rel="stylesheet" type="text/css" href="sty.css">
</head>
<%
    int currentPage = 1;  // 当前页数
    int recordsPerPage = 5;  // 每页显示的记录数
    int totalRecords = 0;  // 总记录数

    String pageParam = request.getParameter("page");
    if (pageParam != null) {
        currentPage = Integer.parseInt(pageParam);
    }

    int offset = (currentPage - 1) * recordsPerPage;  // 计算偏移量

    // 声明变量
    String name = request.getParameter("name");
    String document = request.getParameter("document");
    String organ = request.getParameter("organ");
    String sometext = request.getParameter("text");
    // 连接数据库
    Class.forName("com.mysql.cj.jdbc.Driver");
    String url = "jdbc:mysql://localhost:3306/app";
    String user = "root";
    String pwd = "123456";
    Connection connection = DriverManager.getConnection(url, user, pwd);

    // 处理表单提交逻辑
    if (name != null && document != null && organ != null) {
        String sql1 = "SELECT * FROM policy WHERE name=? AND document=? AND organ=?";
        PreparedStatement pstmt = connection.prepareStatement(sql1);
        pstmt.setString(1, name);
        pstmt.setString(2, document);
        pstmt.setString(3, organ);
        ResultSet re = pstmt.executeQuery();
        if (re.next()) {
            String policyName = re.getString("name");
            String policyOrgan = re.getString("organ");
            String viadata = re.getString("viadata");
            String text = re.getString("text");
            out.println("<h2>政策详情</h2>");
            out.println("<p>政策名称:" + policyName + "</p>");
            out.println("<p>发文机构:" + policyOrgan + "</p>");
            out.println("<p>颁布日期:" + viadata + "</p>");
            out.println(text);
        }
    }
%>
<script>

    function addTextFromDatabase(name) {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("myCode_" + name).innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET", "123.jsp?name=" + name, true);
        xmlhttp.send();
    }
</script>

<body>
<div class="center">
    <img src="LOGO.png" alt="Centered Image"><h1>科技政策查询系统</h1>
</div>
<h3>查询政策</h3>
<form method="post">
    <h4>政策名称:</h4>
    <input type="text" id="name" name="name">
    <h4>发文字号:</h4>
    <input type="text" id="document" name="document">
    <h4>发文机构:</h4>
    <input type="text" id="organ" name="organ">
    <h4>全文检索:</h4>
    <input type="text" id="sometext" name="text">
    <button type="submit">
        提交
    </button>
</form>

<h3>政策列表</h3>

<table>
    <thead>
    <tr>
        <th>政策名称</th>
        <th>发文机构</th>
        <th>颁布日期</th>
        <th>操作</th>
    </tr>
    </thead>
    <%
        String sql1 = "SELECT * FROM policy WHERE 1=1";
        List<String> conditions = new ArrayList<>();
        if (name != null && !name.isEmpty()) {
            conditions.add("name LIKE ?");
        }
        if (document != null && !document.isEmpty()) {
            conditions.add("document LIKE ?");
        }
        if (organ != null && !organ.isEmpty()) {
            conditions.add("organ LIKE ?");
        }
        if (sometext != null && !sometext.isEmpty()) {
            conditions.add("text LIKE ?");
        }
        if (!conditions.isEmpty()) {
            sql1 += " AND " + String.join(" AND ", conditions);
        }

        // Count total records
        String countTotalRecords = "SELECT COUNT(*) FROM policy";
        PreparedStatement countStmt = connection.prepareStatement(countTotalRecords);
        ResultSet countResult = countStmt.executeQuery();

        while (countResult.next()) {
            totalRecords = countResult.getInt(1);
        }

        sql1 += " LIMIT ?, ?";
        PreparedStatement pstmt = connection.prepareStatement(sql1);
        int index = 1;
        if (name != null && !name.isEmpty()) {
            pstmt.setString(index++, "%" + name + "%");
        }
        if (document != null && !document.isEmpty()) {
            pstmt.setString(index++, "%" + document + "%");
        }
        if (organ != null && !organ.isEmpty()) {
            pstmt.setString(index++,"%" + organ +"%");
        }
        if (sometext != null && !sometext.isEmpty()) {
            pstmt.setString(index++, "%" + sometext + "%");
        }

        pstmt.setInt(index++, offset);
        pstmt.setInt(index++, recordsPerPage);

        ResultSet re = pstmt.executeQuery();

        while(re.next()){
    %>

    <tr>
        <td><%= re.getString("name") %></td>
        <td><%= re.getString("organ") %></td>
        <td><%= re.getString("viadata") %></td>
        <td>
            <button onclick="addTextFromDatabase('<%= re.getString("name") %>')">查看详情</button>
            <div id="myCode_<%= re.getString("name") %>"></div>
        </td>
    </tr>
    <%
        }
    %>
</table>

<% if (currentPage > 1) { %>
<a href="?page=<%= currentPage - 1 %>">上一页</a>
<% } %>
<br>
当前为第<%=currentPage%><% if (totalRecords > currentPage * recordsPerPage) { %>
<br>
<a href="?page=<%= currentPage + 1 %>">下一页</a>
<% } %>
<br>
</body>
</html>

Menu.java

package Bean;
import java.util.List;

public class Menu {
    private Integer id;
    private String type;

    private List<Menu> bean;
    public Menu(Integer id,Integer pid,String type)
    {
        this.id =id;
        this.type= type;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }



    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }


    @Override
    public String toString() {
        return "Menu{" +
                "id=" + id +
                ", type='" + type + '\'' +
                ", bean=" + bean +
                '}';
    }
    public List<Menu> getBean(){
        return bean;
    }

    public void setBean(List<Menu> bean) {
        this.bean = bean;
    }
}

Bean.java

package Bean;

public class bean {

    private String name;//政策名称
    private String document;//政策文号
    private String organ;//发文机构
    private String type;//政策类型
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDocument() {
        return document;
    }
    public void setDocument(String document) {
        this.document = document;
    }
    public String getOrgan() {
        return organ;
    }
    public void setOrgan(String organ) {
        this.organ = organ;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }

}

 

posted @ 2024-05-06 20:12  Code13  阅读(2)  评论(0编辑  收藏  举报