- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我现在正在学习如何自己使用 Servlet 和数据库,并且单个部分正在工作。但所有这些都不起作用,因为我的 DatabaseConnection 类没有从我的 LoginServlet 获取数据。
所以我通过 Getter 从 LoginServlet 获取数据,如果我运行 DatabaseConnection,它会在我的数据库中用“null”填充一个新行,因为我没有通过我的注册页面发送任何内容。我的 LoginServlet 接收来自注册的数据并检查它们是否设置正确,如果正确,用户将被发送到新页面。这些是单个部分。如果我运行整个项目,我不会收到任何错误,并且 glassfish 告诉我 LoginServlet 收到了数据,DatabaseConnection 正在运行,但在控制台中没有显示任何内容,并且 MySQL 没有收到任何内容。
我想知道的第二件事是为什么我无法正确设置时间戳和 SimpleDateFormater(解析字符串诞生)
感谢您的帮助。
数据库连接.java
import java.sql.Connection;
import java.sql.DriverManager;
public class DatabaseConnection {
static boolean connection;
public LoginServlet ls = new LoginServlet();
public static void main(String[] args) {
LoginServlet ls = new LoginServlet();
Connection conn = null;
System.out.println("Im here");//not showing up
try {
String ausgabe = "SELECT * FROM accounts";
String url = "jdbc:mysql://127.0.0.1:3306/project";
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, "root", "");
System.out.println("Database connection wurde hergestellt ");
// Manuelle Eingabe der Daten
// conn.createStatement().execute("INSERT INTO `accounts` (`name`, `password`, `salt`,`createdat`,`birthday`,`gender`) VALUES ('Test4', 'bla','123','12-11-13 12:12:12','1994-11-12','1')"); //Insert a row
System.out.println("DB: " + ls.username);
conn.createStatement().execute("INSERT INTO `accounts` (`name`, `password`, `salt`,`createdat`,`birthday`,`gender`) VALUES ('" + ls.username + "', '" + ls.password + "','123','12-11-13 12:12:12','1337-11-11','" + ls.gend + "')"); //Insert a row
System.out.println("Clientinfo: " + conn.getClientInfo());
System.out.println("Datenbank: " + conn.getCatalog());
System.out.println("MetaData: " + conn.getMetaData());
System.out.println("Warnungen: " + conn.getWarnings());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
System.out.println("Database connection beendet");
} catch (Exception e) { /* ignore close errors */ }
}
}
}
}
LoginServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
String username, password, cpassword, email, birth, gender;
int gend;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// read form fields
username = request.getParameter("username");
password = request.getParameter("password");
cpassword = request.getParameter("cpassword");
email = request.getParameter("email");
birth = request.getParameter("birth");
gender = request.getParameter("gender");
System.out.println("username: " + username);
System.out.println("password: " + password);
System.out.println("");
CharSequence mySet = "@";
CharSequence mys = "m";
CharSequence wys = "w";
boolean e = false;
if (gender.contains(wys) || gender.contains(mys)) {
e = true;
} else if (gender.contains(wys)) {
gend = 0;
} else {
gend = 1;
}
// get response writer
//PrintWriter writer = response.getWriter();
if (password.equals(cpassword) && e) {
PrintWriter writer = response.getWriter();
// build HTML code
String htmlRespone = "<html>";
htmlRespone += "<h2>Dein Benutzername ist: " + username + "<br/>";
htmlRespone += "Dein Password ist: " + password + "<br/>";
htmlRespone += "Deine Email ist: " + email + "<br/>";
htmlRespone += "Dein Geburtstag ist: " + birth + "<br/>";
htmlRespone += "Dein Geschlecht ist: " + gender + "</h2>";
htmlRespone += "</html>";
// return response
writer.println(htmlRespone);
} else if (password != cpassword) {
PrintWriter writer = response.getWriter();
String htmlResponse = "<html>";
htmlResponse += "Dein Passwort stimmt nicht überein";
htmlResponse += "</html>";
htmlResponse += "<a href=\"Registration.jsp\" target=\"links\"> Zurück</a>";
writer.println(htmlResponse);
} else if (e == false) {
} else if (birth == null) {
System.out.println("Geburtstag falsch formatiert");
}
}
public String getUsername() {
System.out.println("getter: " + username);
return username;
}
public String getPassword() {
return password;
}
public String getCpassword() {
return cpassword;
}
public String getEmail() {
return email;
}
public String getBirth() {
return birth;
}
public int getGender() {
return gend;
}
}
注册.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Registration</title>
</head>
<body>
<h1>Hello World!</h1>
<a href="index.jsp" target="links">Startseite</a>
<div align="center">
<br/>
<form name="reg" method="POST" action="loginServlet"><p>
<table width="370">
<tr>
<td style="float: left;">Benutzername </td>
<td style="float: right;"><input type="text" name="username" class='input' maxlength="12" placeholder="Benutzername" autocomplete="off" required autofocus>
</td>
</tr>
<tr>
<td style="float: left;">Passwort: </td>
<td style="float: right;"><input type="password" name="password" class='input' maxlength="12" placeholder="Passwort" required></td>
</tr>
<tr>
<td style="float: left;">Passwort Bestätigen: </td>
<td style="float: right;"><input type="password" name="cpassword" class='input' maxlength="12" placeholder="Passwort Bestätigen" required></td>
</tr>
<tr>
<td style="float: left;">Email: </td>
<td style="float: right;"><input type="text" class='input' name="email" placeholder="Email" required></td>
</tr>
<tr>
<td style="float: left;">Geburtstag:<br><small>(YYYY-MM-DD)</small> </td>
<td style="float: right;"><input id="datepicker" type="text" maxlength="10" class='input' name="birth" placeholder="Geburtstag" required></td>
</tr>
<tr>
<td style="float: left;">Geschlecht:<br><small>(m oder w)</small> </td>
<td style="float: right;"><input type="text" maxlength="1" class='input' name="gender" placeholder="Geschlecht" required></td>
</tr>
</table>
<input type="submit" value="Bestätigen" class="doVote button" style="" name="register">
</p></form>
</div>
最佳答案
有一件事你没有理解,那就是你不能创建 Servlet 的 Request 和 Response 对象。这是 Web 容器的工作,所以,自己创建 Servlet 实例是错误的。 Please study the Servlet life cycle .
此代码不会给出错误,因为 Servlet 也是普通类。
关于java - 2 个 Servlet 之间的通信不适用于数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20531886/
大多数语言都支持双向进程通信。例如,在 Python 中,我可以(草率地)执行以下操作: >>> from subprocess import * >>> p = Popen('nslookup',
致力于使用 C++ 在 arduino 和 PC (Win 7) 之间进行通信。使用 WriteFile 和 ReadFile 创建通信或简单地发送或接收数据没有问题。但是当我想以某种方式“协调”沟通
我们正在开发一个基于微服务的应用程序。它们将使用 Helm Package Manager 部署到 kubernetes,并且它们都存储了自己的存储库和 helm chart。以下是我们微服务的名称。
我正在开发一个大型 MVVM 应用程序。我为此使用了 MVVM 轻量级工具包。该应用程序就像一个带有后退和前进按钮的网络浏览器。主视图是一个用户控件。我在主视图用户控件中放置了后退和前进按钮。主视图又
我在 java 和 freepascal(lazarus) 应用程序之间的通信有问题。我使用套接字。它们正确连接。一切都很顺利,直到我想从一个应用程序向另一个应用程序发送一些东西。在java而不是“a
我已经使用客户端套接字和服务器套接字使用C#编写了群聊。 当我使用VS 2017在自己的PC中运行程序(服务器和客户端)时,客户端和服务器之间的通信工作正常。 当我在笔记本电脑中运行客户端程序,并在自
Kubernetes 中两个不同 Pod 之间的通信是如何发生的? 就我而言,我有两个 Pod:前端和后端,它们都有不同的容器。 我希望我的前端 pod 与后端 pod 通信,但我不想使用后端 pod
我正在尝试在浏览器中嵌入的 flash 实例与在 C# WinForms 应用程序中运行的 flash 实例之间进行通信...我收到一个编译错误,内容为: 1119 Access of possibl
鉴于网络上缺乏信息,请问一个问题:我要在 Android 中创建一个应用程序,使用一个数据库应用程序 rails 。为此,我需要一个手动 session 。所以如果有人准备好了示例/教程显示通信 an
我正在编写一个应用程序,它将通过 MySQL 数据库对用户进行身份验证。我已经用 Java (android) 编写了它,但现在正在移植到 Windows 手机。 PHP 文件使用 $get 然后回显
是否可以通过互联网在两个不同设备上的两个不同应用程序之间建立通信。我想从设备 A 上的应用程序点击一个设备 B 上的应用程序,然后从设备 B 上的应用程序获取数据到设备 A 上的应用程序。如果可能,如
这是脚本: 它被放置在其他网站上。 com 并显示一个 iframe。如果有人点击 iframe 中的某个内容,脚本应该将一个 div 写入 othersite 。 com. 所以我的问题是如何做到
你好我是 php 的新手,我用 c++ 编写了整个代码并想在 php 中使用这段代码。所以我为我的代码制作了 dll 以使用它。但是我不能在 php 中使用这个 dll,可以谁能给我完整的代码来使用
我确定之前已经有人问过(并回答过)此类问题,所以如果是这样,请将我链接到之前的讨论... 在 C++ 中,假设我有一个 ClassA 类型的对象,其中包含一个 ClassB 类型的私有(private
我正在尝试使用 ATmega32 进行串行通信。首先,我使用 RS232,使用 USB-to-RS232 建立使用串行终端的接收和传输(在我的例子中是 tera 术语)。无论我从串行终端 Atmega
我找不到适用于 Ruby 的 SSL 实现。 我的部分项目需要服务器和客户端之间的安全通信链接,我希望为此使用 SSL 以创建安全 session 。 谢谢 最佳答案 如果你使用 Ruby 1.9.x
我正在尝试在客户端/服务器之间进行 SSL 通信。 到目前为止,我已经从 keystore 创建了 java.security.cert.X509Certificate。接下来我应该怎么做才能使这次沟
我在与 Windows 上的 USB 设备 通信时遇到问题。我不能使用 libusb 或 WinUSB,因为我有一个特定的驱动程序(Silabs USB 到 UART,这是一个 USB 到串口的桥接器
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我发现 xcom 实际上是将数据写入数据库并从其他任务中提取数据。我的数据集很大,将其腌制并写入数据库会导致一些不必要的延迟。有没有办法在不使用 xcom 的情况下在同一 Airflow Dag 中的
我是一名优秀的程序员,十分优秀!