没有来自web应用程序java servlet的回复

btqmn9zl  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(337)

我正在尝试用netbeans做我的第一个web应用程序。这是一个使用servlet的简单注册表单,应该连接到mysql数据库(我使用phpmyadmin和xampp)。
索引.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>

寄存器.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();
        }

      }
  }

网站.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/第一个\u 2/寄存器是否有任何方法可以查看错误??因为实际上我没有从netbeans看到任何东西。

jv4diomz

jv4diomz1#

在j2eeweb应用程序中,在应用程序服务器上配置数据库数据源是很重要的,这样您就不必直接使用drivermanager,而应该从使用连接池中获益。如果使用tomcat app server,可以在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是一个php开发环境而不是java环境!
如果你使用netbeans,你也有相关的教程!

相关问题