gpt4 book ai didi

java - 我如何将 HTML 连接到 java 以在数据库中添加值

转载 作者:行者123 更新时间:2023-12-01 18:48:17 25 4
gpt4 key购买 nike

我想在从jsp文件输入的数据库中输入数据,但不知道如何连接它们。任何人都可以建议我连接这两个文件并添加以 jsp 形式输入的数据吗?

这是我的jsp和java文件...

test1.java

package P1;  

import java.sql.*;


class test1 {
public static void main(String[] args) throws SQLException, ClassNotFoundException {


Connection con = null;

try {
Class.forName("oracle.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ex) {
System.out.println("Error: unable to load driver class!");
System.exit(1);
}

con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.106.87:1521:ORA11G","fuel_db","foel");
Statement statement = con.createStatement();

String command = "INSERT INTO student (name, rollno, class, mobileno) VALUES (?, ?, ?, ?);";
statement.executeUpdate(command);

con.close();

}

}

test1.html

**

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>FORM</title>

<script type="text/javascript">


<%
String name = request.getParameter("name");
String roll = document.getElementById("rollno");
String clas = document.getElementById("class");
String mobile = document.getElementById("mobileno");

test1 myTest = new test1();
myTest.submitData();
%>



function getvalues()
{

var name = document.getElementById("name");
var roll = document.getElementById("rollno");
var clas = document.getElementById("class");
var mobile = document.getElementById("mobileno");
}

function num(e)
{
var k;
document.all ? k = e.keyCode : k = e.which;
return (!((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8));
}

</script>

</head>
<body>
<form action="test1.java" method="post" >
<table>
<tr>
<td>First Name: </td>
<td><input type="text" name="name" maxlength="10"></td>
</tr>
<tr>
<td>roll:</td>
<td><input type="text" name="rollno" maxlength="5" onkeypress="return num(event)"></td>
</tr>
<tr>
<td>class:</td>
<td><input type="text" name="class" maxlength="10"></td>
</tr>
<tr>
<td>Mobile:</td>
<td><input type="text" name="mobileno" maxlength="10" onkeypress="return num(event)"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" onclick="getvalues()"></td>
</tr>
</table>

</form>
</body>
</html>

**

最佳答案

我不会遵循你的代码。但这里的例子就足够了。在纯 Servlet/JSP 世界中将数据传递/提交到服务器的标准方法是使用 HTML 表单,即与使用其他服务器端语言相同的方式示例 php.ini而且无论是纯HTML页面还是JSP页面都没有关系。从表单向服务器提交数据的推荐/最常用方法是 POSTGET。它的标准方式是使用 POST 方法提交数据,并分别使用 servlet 中的 doPost() 方法处理提交的数据。例如:

<form name="something" method="post" action="<servlet-name>"> //if u want to change the action to something else then u need to modify your xml file.
<input type="text" name="username"/>
<input type="submit" name="submitit" value="submited"/>
</form>

现在在servlet中的doPost(...)下写入

if(request.getParameter("submitit").equals("submitted")){
String username=request.getParameter("username");
//now u can run a query and insert ito to database;
}

最后你可以使用

将其重定向到另一个页面
`response.sendRedirect();`

或者任何其他方式我可以假设您正在使用 eclipse Java EE ide 进行开发。那么你不必担心集成它们,一旦你创建一个新的 Java EE 项目,eclipse 就会为你准备 xml 文件。如果没有,那么你必须手动完成,我曾经尝试过这样做,但我无法成功。这是一个链接:我希望您会感兴趣:http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/

这是一件坏事,但我会为你编辑代码。顺便说一句,我正在删除 javascript。 KISS(保持简单愚蠢)..:)你的 jsp 页面将是:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>FORM</title>

</head>
<body>
<form action="test1" method="post" >
<table>
<tr>
<td>First Name: </td>
<td><input type="text" name="name" maxlength="10"></td>
</tr>
<tr>
<td>roll:</td>
<td><input type="text" name="rollno" maxlength="5"></td>
</tr>
<tr>
<td>class:</td>
<td><input type="text" name="class" maxlength="10"></td>
</tr>
<tr>
<td>Mobile:</td>
<td><input type="text" name="mobileno" maxlength="10"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit"></td>
</tr>
</table>

</form>
</body>
</html>

and the servlet will be:

import java.sql.*;


class test1 {
public static void main(String[] args) throws SQLException, ClassNotFoundException {


Connection con = null;
PreparedStatement pstmt = null;
try {
Class.forName("oracle.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ex) {
System.out.println("Error: unable to load driver class!");
System.exit(1);
}

con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.106.87:1521:ORA11G","fuel_db","foel");

String name = request.getParameter("name");
String roll = document.getElementById("rollno");// idk why roll no is string
String clas_s = document.getElementById("class");
String mobile = document.getElementById("mobileno");
try {
String query= "INSERT INTO student (name, rollno, class, mobileno) VALUES (?, ?, ?, ?);";
pstmt = con.prepareStatement(query);
pstmt.setString(1,name);
pstmt.setString(2,roll);
pstmt.setString(3,clas_s);
pstmt.setString(4,mobile);
pstmt.executeUpdate();

con.close();
}
catch(Exception e) {
e.printStackTrace();}

response.sendRedirect("confirm.jsp");

}
}

不要问我关于牙套的事..自己修理。

关于java - 我如何将 HTML 连接到 java 以在数据库中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16747570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com