我被分配了一个任务,即在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页面中用“加载”语句调用它们,你会没事的对我来说完全没用。我提前为我的无知道歉,但正如我告诉你的那样,我真的是一个假的程序员(但这对我来说很重要)。非常感谢你的详细(以完整的方式编写)帮助你提供给我。
答案 0 :(得分:1)
我认为在这个网站上获取代码很难。
尽管如此,我认为既然您能够编写所有代码,那么一旦您了解了以下内容,更改为模块化表单应该是您的最佳选择:
Servlets
从Servlet转发到JSP
试试这个链接: https://danielniko.wordpress.com/2012/04/17/simple-crud-using-jsp-servlet-and-mysql/
那篇文章有一个github项目的链接,它有你需要的所有资源。