2014-09-24 3 views
0

Я написал этот код, но когда я запускаю его на сервере, форма onsubmit не дает никакой реакции. Я кодирую в Eclipse IDE с использованием сервера TOMCAT. я не знаю, в чем проблема .....Мой html не отправляется на сервлет

кода сервлета

package webpackage; 

import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.PreparedStatement; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import mypackage.Connecting; 

//import com.sun.corba.se.pept.transport.Connection; 

/** 
* Servlet implementation class Registration 
*/ 
@WebServlet(name = "reg", urlPatterns = { "/reg" }) 
public class Registration extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    public static Connection con=null; 
    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public Registration() { 
     super(); 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 


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


       try{ 
       String username = request.getParameter("user"); 
       String email = request.getParameter("email"); 
       String institute = request.getParameter("institute"); 
       String pass1 = request.getParameter("pass1"); 
       String pass2 = request.getParameter("pass2"); 
       pw.println(username); 
       pw.println(email); 
       pw.println(institute); 
       pw.println(pass1); 
       pw.println(pass2); 
       con= Connecting.getConn(); 
       pw.println(con); 


       PreparedStatement pst = con.prepareStatement("insert into Validate_login values(?,?)"); 
       pst.setString(1,"112hhsh"); 
       pst.setString(2,pass1); 
       int i = pst.executeUpdate(); 

    PreparedStatement pst1=con.prepareStatement("insert into User_info values(?,?,?,?)"); 
      pst1.setString(1,"112hhsh"); 
      pst1.setString(2,username); 
      pst1.setString(3,institute); 
      pst1.setString(4,email); 
      i=pst1.executeUpdate(); 
      System.out.println(i); 
       if(i!=0){ 
       pw.println("<br>Record has been inserted"); 
       } 
       else{ 
       pw.println("failed to insert the data"); 
       } 
       } 
       catch (Exception e){ 
       pw.println(e); 
       } 
      } 
} 

Html код

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Register</title> 
</head> 
<body> 

    <form action="/reg" method="post"> 
     Username:<input type="text" name="user"><br> 
     Email:<input type="text" name="email"><br> 
     Institute:<input type="text" name="institute"><br> 
     Password:<input type="text" name="pass1"><br> 
     Confirm Password:<input type="text" name="pass2"><br> 
     <input type="button" name="btn1" value="OK"><br> 
    </form> 

</body> 
</html> 

XML код

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>Sample</display-name> 
    <welcome-file-list> 
    <welcome-file>register.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    </welcome-file-list> 
    <servlet> 
     <servlet-name>reg</servlet-name> 
     <servlet-class>webpackage.Registration</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>reg</servlet-name> 
     <url-pattern>/reg</url-pattern> 
    </servlet-mapping> 

</web-app> 

Я начинающий программист

+0

Как я сказал, что я новичок в этом ..... Поправьте меня, если я ошибаюсь – user3725251

+0

Понял ..... Он говорит, что это от типа сервера: Отчет о состоянии message/reg описание Запрошенный ресурс недоступен. – user3725251

+0

Вы можете помочь, если сможете это решить – user3725251

ответ

0

Как уже указывалось на BalusC вы не должны использовать

<input type="button" name="btn1" value="OK"> 

но

<input type="submit" name="btn1" value="OK"> 

Также в ваших action="/reg"/ doens't представляют корень структуры проекта , но больше похожа на структуру сервера, поэтому action="/reg" будет представлять что-то вроде

http://server.addres/reg 

но вы, скорее всего, хотите, чтобы представить

http://server.addres/web-app-name/reg 

Так, возможно, изменить его

  • action="reg" представлять reg с таким же адресом в качестве формы,
  • или добавить имя приложения раньше, как action="/web-app-name/reg",
    (если вы используете JSP, вы можете получить имя своего приложения динамически, например, через EL (Expression Language) action="${pageContext.request.contextPath}/reg")
+0

благодарим вас за помощь – user3725251

+0

@ user3725251 Добро пожаловать :) – JEENoob

+0

У вас есть хорошие ресурсы, которые вы можете порекомендовать для меня, чтобы учиться у @JEENoob – user3725251

Смежные вопросы