【问题标题】:How do I split Java code away from a jsp page in NetBeans? [duplicate]如何从 NetBeans 中的 jsp 页面中拆分 Java 代码? [复制]
【发布时间】:2015-08-03 08:45:45
【问题描述】:

我被分配了一项任务,即制作一个在 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 文件以使它们成为可用的类(它们是“公共静态 void main”的东西还是什么?),也不知道我如何拥有从 jsp 页面的 HTML 代码中调用它们(顺便说一下,我是否也应该从 jsp 页面中拆分 HTML 代码并将其也保存在其他地方?如果是这样,我也不知道该怎么做)。你能帮我解决这个问题吗?如果你真的想这样做,请完整编写应该生成 *.java 文件的代码(当然使用我已经编写的类的 Java 代码),并且请完整编写调用这些 *.java 文件的语句。来自 jsp 页面内的 java 文件。如果您不明确编写代码,我将无法自己编写;因此,诸如“是的,将类保存在公共静态 void 主文件中并使用“加载”语句从 jsp 页面中调用它们,你会没事的”这样的指示对我来说完全没用。我提前为我的无知道歉,但是,正如我告诉你的,我真的是一个愚蠢的程序员(但这件事对我来说很重要)。非常感谢您为我提供的详细(以完整的方式编写)帮助。

【问题讨论】:

  • 不幸的是,alexandersaiz,你的回答正是我指定的,对我来说毫无用处。我真的需要按照我要求的方式完成这些事情,然后才在一些视频教程的帮助下,我将尝试理解从我的代码到我所要求的“模块化”代码的原因。跨度>
  • 好的,非常感谢 alexandersaiz 和 Pshemo,如果没有任何进展,我会尝试。

标签: java jsp netbeans


【解决方案1】:

我认为仅在此站点上获取代码会很困难。

尽管如此,我认为既然您能够编写所有这些代码,那么一旦您了解以下内容,更改为模块化形式对您来说应该是一件容易的事:

  1. 小服务程序

  2. 从 Servlet 转发到 JSP

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

那篇文章有一个 github 项目的链接,里面有你需要的所有源代码。

【讨论】:

  • 也非常感谢你,Mecon,我会先按照你的建议和第一个答案中给我的建议来尝试自己重写,其次,我不应该无法解决问题,请访问 freelancer.com
猜你喜欢
  • 2015-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
相关资源
最近更新 更多