gpt4 book ai didi

javascript - servlet中的doGET不写在html页面中

转载 作者:行者123 更新时间:2023-11-28 23:39:11 26 4
gpt4 key购买 nike

这是我的 javascript 部分

<script language=javascript type="text/javascript">
function myFunction() {

var request = new XMLHttpRequest();
request.open("GET", "http://localhost:8080/Test/Servlet");

request.send();

//document.write("Request GET enviado!");

}
</script>

这是我的 doGEt 部分

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

System.out.println("Request GET recebido!");

// JDBC driver name and database URL
String JDBC_DRIVER = "com.mysql.jdbc.Driver";
String DB_URL = "jdbc:mysql://localhost:3306/Tests";

// Database credentials
String USER = "fabio";
String PASS = "hacking";

Connection conn = null;
Statement stmt = null;

// Set response content type
response.setContentType("text/html");
PrintWriter out = response.getWriter();

try {
// Register JDBC driver
Class.forName(JDBC_DRIVER);

// Open a connection
conn = DriverManager.getConnection(DB_URL, USER, PASS);

// Execute SQL query
stmt = conn.createStatement();
String sql;
sql = "SELECT * FROM people";
ResultSet rs = stmt.executeQuery(sql);


out.println("<html><body>");
// Extract data from result set
while (rs.next()) {
//Retrieve by column name
int person_id = rs.getInt("person_id");
String first_name = rs.getString("first_name");
String last_name = rs.getString("last_name");

//Display values
out.println("Person ID: " + person_id + " | ");
out.println("First name: " + first_name + " | ");
out.println("Last name: " + last_name + "<br>");

}
out.println("</body></html>");

// Clean-up environment
out.close();
rs.close();
stmt.close();
conn.close();

} catch (Exception e) {
System.out.println(e);
}
}

它们一直工作到从数据库中检索数据为止。不起作用的部分是将 out.println 发回 HTML 页面。有人可以建议吗?

谢谢,

最佳答案

如果您对这样的响应做了任何事情,我从问题中看不出来:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
var respdiv = document.getElementById("respdiv");
respdiv.innerHTML = "Response=" + xhr.responseText;
}
xhr.open("GET", "http://localhost:8080/Test/Servlet", true);
xhr.send(null);

同样有趣的是,在内置的 eclipse 浏览器中运行时,它以“hello”而不是“SOMETHING”(没有检查原因)响应,但在 chrome 中打开时有效。获取代码:

PrintWriter out = response.getWriter();
out.println("SOMETHING");
out.flush();
out.close();

关于javascript - servlet中的doGET不写在html页面中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660976/

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