Java 此URL不支持HTTP方法GET 名称: 密码: 电子邮件Id: 语言: 印地语 英语 法语
提交表单后,出现以下错误 HTTP状态405-此URL不支持HTTP方法GET 这是我的java类。我只定义了post方法,并在html表单中调用了post方法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="
<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?你要怎么做才能得到那个例外?