我正在尝试使用netbeans创建我的第一个Web应用程序。这是一个使用servlet的简单注册表单,应连接到mysql数据库(我将phpmyadmin与xampp结合使用)。
index.html
<html>
<head>
<title>Register form</title>
</head>
<body>
<form method="post" action="register">
Name:<input type="text" name="name" /><br/>
Email ID:<input type="text" name="email" /><br/>
Password:<input type="text" name="pass" /><br/>
<input type="submit" value="register" />
</form>
</body>
</html>
Register.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Register extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
String email = request.getParameter("email");
String pass = request.getParameter("pass");
try{
//loading drivers for mysql
Class.forName("com.mysql.jdbc.Driver");
//creating connection with the database
Connection con=DriverManager.getConnection
("jdbc:mysql://127.0.0.1:3309/test","root","");
PreparedStatement ps=con.prepareStatement
("insert into Student values(?,?,?)");
ps.setString(1, name);
ps.setString(2, email);
ps.setString(3, pass);
int i=ps.executeUpdate();
if(i>0)
{
out.println("You are sucessfully registered");
}
}
catch(Exception se)
{
se.printStackTrace();
}
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
启动时,我可以看到注册表,但尝试插入数据,浏览器在http://localhost:8084/First_2/register处显示空白页 有什么办法看错什么吗?因为实际上我从netbeans看不到任何东西。
答案 0 :(得分:-1)
在J2EE Web应用程序中,在应用程序服务器上配置数据库数据源很重要,因此您不必直接使用DriverManager,而应该受益于使用连接池。 如果您使用tomcat应用服务器,则可以在globalresources部分下的server.xml描述符上将数据源配置为全局资源。 看到 https://tomcat.apache.org/tomcat-7.0-doc/config/globalresources.html
数据源通过JNDI(Java命名系统)注册,以后使用简单的调用在代码中检索。
然后,可以使用context.xml描述符/META-INF/context.xml上的资源引用,由不同的应用程序重用全局资源
关于在代码上使用通过JNDI的数据源,您可以在此处获得良好的教程: https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html
如果您要构建基于J2EE的Web应用程序,我也认为XAMPP不是您的朋友,XAMPP是非Java的php开发环境!
如果您使用Netbeans,那么其中也包含相关的教程!