Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 此URL不支持HTTP方法GET 名称: 密码: 电子邮件Id: 语言: 印地语 英语 法语_Java_Html_Servlets - Fatal编程技术网

Java 此URL不支持HTTP方法GET 名称: 密码: 电子邮件Id: 语言: 印地语 英语 法语

Java 此URL不支持HTTP方法GET 名称: 密码: 电子邮件Id: 语言: 印地语 英语 法语,java,html,servlets,Java,Html,Servlets,提交表单后,出现以下错误 HTTP状态405-此URL不支持HTTP方法GET 这是我的java类。我只定义了post方法,并在html表单中调用了post方法 <form method="post" action="RegisterServletPath"> Name:<input type="text" name="userName"><br> Password:<input type="password" name="

提交表单后,出现以下错误 HTTP状态405-此URL不支持HTTP方法GET 这是我的java类。我只定义了post方法,并在html表单中调用了post方法

   <form method="post"    action="RegisterServletPath">

    Name:<input type="text" name="userName"><br>
    Password:<input type="password" name="password"><br>
    Email Id:<input type="text" name="email"><br>
    Language: <select name="language">
        <option>Hindi</option>
        <option>English</option>
        <option>French</option>
    </select> <br>
    <input type="submit" value="Submit">

  </form>
公共类RegisterServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
public void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
字符串n=request.getParameter(“用户名”);
字符串p=request.getParameter(“密码”);
字符串e=request.getParameter(“电子邮件”);
字符串c=request.getParameter(“语言”);
试一试{
类forName(“net.ucanaccess.jdbc.UcanaccessDriver”);
Connection con=DriverManager.getConnection(“jdbc:ucanaccess://D:/eclipse/register.accdb”,“”,“”);
PreparedStatement ps=con.prepareStatement(“插入用户详细信息值(?,?,?)”;
ps.setString(1,n);
ps.setString(2,p);
ps.setString(3,e);
ps.setString(4,c);
int i=ps.executeUpdate();
如果(i>0){
打印(“您已成功注册…”);
}
}
//……与此无关
}
}
web.xml
SimpleServlet项目
注册服务器
org.venkatesh.Servlet.RegisterServlet
注册服务器
/RegisterServletPath

添加servlet代码的其余部分,我认为您要么使用
doGet
方法并从中调用
super.doGet
,要么不使用
doGet
,但不幸的是,
HttpServlet
中的
doGet
方法正在被调用

还有一个问题!在任何一种情况下,从何处调用
doGet
方法

如果找不到位置,请尝试添加

   public class RegisterServlet extends HttpServlet {

       private static final long serialVersionUID = 1L;

       public void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {

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

            String n = request.getParameter("userName");
            String p = request.getParameter("password");
            String e = request.getParameter("email");
            String c = request.getParameter("language");

            try {

                Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

                Connection con =     DriverManager.getConnection("jdbc:ucanaccess://D:/eclipse/register.accdb","","");

                PreparedStatement ps = con.prepareStatement("insert into USERDETAILS values(?,?,?,?)");

                ps.setString(1, n);
                ps.setString(2, p);
                ps.setString(3, e);
                ps.setString(4, c);

                int i= ps.executeUpdate();
                if (i > 0) {
                     out.print("You are successfully registered...");   
                }
            }
            //... not relevant here
        }
    }

web.xml 


<display-name>SimpleServletProject</display-name>   
<servlet>
<servlet-name>RegisterServlet</servlet-name>
<servlet-class>org.venkatesh.Servlet.RegisterServlet</servlet-class> 
</servlet>

<servlet-mapping>
<servlet-name>RegisterServlet</servlet-name>
<url-pattern>/RegisterServletPath</url-pattern>
</servlet-mapping>

这应该可以解决问题,如果没有,那么让我知道我所有的假设是否都错了

添加servlet代码的其余部分,我认为您要么使用
doGet
方法并从中调用
super.doGet
,要么不使用
doGet
,但不幸的是调用了
HttpServlet
中的
doGet
方法

还有一个问题!在任何一种情况下,从何处调用
doGet
方法

如果找不到位置,请尝试添加

   public class RegisterServlet extends HttpServlet {

       private static final long serialVersionUID = 1L;

       public void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {

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

            String n = request.getParameter("userName");
            String p = request.getParameter("password");
            String e = request.getParameter("email");
            String c = request.getParameter("language");

            try {

                Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

                Connection con =     DriverManager.getConnection("jdbc:ucanaccess://D:/eclipse/register.accdb","","");

                PreparedStatement ps = con.prepareStatement("insert into USERDETAILS values(?,?,?,?)");

                ps.setString(1, n);
                ps.setString(2, p);
                ps.setString(3, e);
                ps.setString(4, c);

                int i= ps.executeUpdate();
                if (i > 0) {
                     out.print("You are successfully registered...");   
                }
            }
            //... not relevant here
        }
    }

web.xml 


<display-name>SimpleServletProject</display-name>   
<servlet>
<servlet-name>RegisterServlet</servlet-name>
<servlet-class>org.venkatesh.Servlet.RegisterServlet</servlet-class> 
</servlet>

<servlet-mapping>
<servlet-name>RegisterServlet</servlet-name>
<url-pattern>/RegisterServletPath</url-pattern>
</servlet-mapping>

这应该可以解决问题,如果没有,那么让我知道我所有的假设是否都错了

控件是否已到达您的RegisterServlet?尝试添加一些打印语句以确认这一点。是的,控件未到达RegisterServlet@JitendraWell,然后向我们显示您的web.xml配置,您将URL映射到控制器的位置。并且。。。什么是URL?您要做什么来获取该异常?控件是否已到达您的RegisterServlet?尝试添加一些打印语句以确认这一点。是的,控件未到达RegisterServlet@JitendraWell,然后向我们显示您的web.xml配置,您将URL映射到控制器的位置。并且。。。什么是URL?你要怎么做才能得到那个例外?