如何从NetBeans中的jsp页面拆分Java代码?

时间:2015-05-21 15:18:37

标签: java jsp netbeans

我被分配了一个任务,即在Tomcat上运行NetBeans jsp页面,以便代码接口并查询MySql表,以便检索其数据并将其显示在IE页面上。我这样做了,代码在执行时正在工作;我正在复制它(它是PhoneBookTableDataRetrieval.jsp文件):

<%@page import="java.sql.*"%>   
<% Class.forName("com.mysql.jdbc.Driver"); %>           
<%@page contentType="text/html" pageEncoding="UTF-8"%> //<!DOCTYPE html>
                                                       // <html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>                    
</head>
<body>
    <h1></h1>
<%!                                                                     
    public class Record {
        String pathToDB = "jdbc:mysql://localhost:3306/agenda";
        String username = "root";
        String password = "Digital1";  

        Connection sessionWithAgendaDB = null;                              
        PreparedStatement precompiledStatementToPhoneBookTable = null;      
        ResultSet queriedTableData = null;                                  

        public Record (){                                                   
            try {
                sessionWithAgendaDB = 
                  DriverManager.getConnection(pathToDB, username, password);

                precompiledStatementToPhoneBookTable 
                    = sessionWithAgendaDB.prepareStatement("SELECT * 
                                                         FROM phone_book");
            } catch (SQLException e){                                       
                e.printStackTrace();
            }
        }

        public ResultSet fetchRecords(){                                   

            try {
                queriedTableData 
                    = precompiledStatementToPhoneBookTable.executeQuery();
            } catch (SQLException e) {
                e.printStackTrace();
            }

            return queriedTableData;                                        
        }                                                                   
    }
    %>                                                                      
    <%
        Record record = new Record();                                       
        ResultSet records = record.fetchRecords();                          
    %>
    <table border="1">                                                      
        <tbody>
            <tr>
                <td>Phone Book Code</td>
                <td>First Name</td>
                <td>Last Name</td>
                <td>Phone Number</td>
            </tr>
            <% while (records.next()) { %>                                  
            <tr>
                <td><%= records.getInt("p_B_CODE")%></td>
                <td><%= records.getString("p_B_NAME")%></td>
                <td><%= records.getString("p_B_SURNAME")%></td>
                <td><%= records.getString("p_B_PHONE")%></td>
            </tr>
            <% } %>                                                         
        </tbody>
    </table>
</body>

然而有人告诉我,我的代码将Java代码的一部分和HTML代码的一部分混合在一起,这是真的,这对于模块化和可移植性来说并不好。所以我被告知要拆分我在jsp页面中编写的类的Java代码,并将这些类保存为NetBeans项目的src / java文件夹中的* .java文件,其分支我不能在下面用截图重现,所以我有点情节:

项目名称:PhoneBookTableDataRetrieval,其下是文件夹:

build
nbproject
src
    conf
    java
web
    WEB-INF
    PhoneBookTableDataRetrieval.jsp
build.xml

我的问题是我不知道如何编写那些* .java文件以使它们成为可用的类(它们是'public static void main'或者是什么?),也不知道我怎么做从jsp页面的HTML代码中调用它们(顺便说一句,我是否应该从jsp页面拆分HTML代码并将其保存在其他地方?如果是这样,我不知道如何做到这一点)。你能帮帮我吗?如果您真的想要这样做,请完整地编写应该生成* .java文件的代码(当然使用我已编写的类的Java代码),并且,请完整地写出调用那些*的语句。 jsp页面中的java文件。如果你没有明确地写代码,我将无法自己编写代码;所以方向如'是,将类保存在公共静态void主文件中,并在jsp页面中用“加载”语句调用它们,你会没事的对我来说完全没用。我提前为我的无知道歉,但正如我告诉你的那样,我真的是一个假的程序员(但这对我来说很重要)。非常感谢你的详细(以完整的方式编写)帮助你提供给我。

1 个答案:

答案 0 :(得分:1)

我认为在这个网站上获取代码很难。

尽管如此,我认为既然您能够编写所有代码,那么一旦您了解了以下内容,更改为模块化表单应该是您的最佳选择:

  1. Servlets

  2. 从Servlet转发到JSP

  3. 试试这个链接: https://danielniko.wordpress.com/2012/04/17/simple-crud-using-jsp-servlet-and-mysql/

    那篇文章有一个github项目的链接,它有你需要的所有资源。