csdn产品小助手 2014-10-09 07:31 采纳率: 0%
浏览 80

求助:用JSP创建表单数据页?

我使用JSP创建了一个表单数据页,并应用Ajax调用,希望在MS Access中存储数据。但我发现表单数据不存储,甚至控制台也没有显示任何错误。请帮帮我......

login.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
 <head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<script type="text/javascript">

       function sendData()
       {
              alert("I m in SendData Function");
              var email=$('#email').val();
              var name=$('#name').val();
              var password=$('#password').val();

              alert("i am in senddata mode");
              var jsonDataObject=new Object();
              alert(" JSON call");
              jsonDataObject.name=name;
              jsonDataObject.email=email;
              jsonDataObject.password=password;


        var jsonString= JSON.stringify(jsonDataObject);
        alert("Before Ajax call");

        $.ajax({

                     type:"POST",

                     url:"localhost:8080/RestDemo/UserInfoService",

                     dataType:"json",
                     data:jsonString

       });

              alert("After Ajax Call Send Data");

}      
</script>
</head>
<body bgcolor=#D8D8D8>
<form name="form"  method="post" onsubmit="sendData()">
<div style="margin-left:300px;margin-top:110px;background-color:#5FB404;padding:20px;width:650px;height:450px" >
<h1><center> Login Registration Form</center></h1>
<pre>
<p style="font-size:20px">
NAME          :<input type="text" name="name" id="name" ><br>
EMAIL         :<input type="text" name="email" id="email" ><br>
PASSWORD      :<input type="password" name="password" id="password">
<center><input type="submit" name="submit" value="SUBMIT"  style="padding:7px"></center>

</p></pre>

 </div>
</form>
</body>
</html>

Web.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" 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>RestDemo</display-name>
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
   </welcome-file-list>
   <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
     <!-- Register resources and providers under com.vogella.jersey.first package. -->
    <init-param>
        <param-name>jersey.config.property.packages</param-name>
        <param-value>Service</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>

UserInfo.java:

package Service;

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Consumes(MediaType.APPLICATION_JSON)

@Path("/UserInfoService")


public class UserInfo {

    @POST

    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    //@Produces(MediaType.APPLICATION_XML)


    public void setDetails(@FormParam("name") String name, @FormParam("email") String email,
              @FormParam("password") String password) 
    {
        UserDetailsDao userDetailsDao=new UserDetailsDaoImpl();
        userDetailsDao.getUserDetails(name, email, password);
    }
}

UserDetailDao.java:

package Service;

public interface UserDetailsDao {
    public void getUserDetails(String name,String email,String password);

}

UserDetailDaoImpl.java:

package Service;
import java.sql.*;

public class UserDetailsDaoImpl implements UserDetailsDao {


    @Override
    public void getUserDetails(String name, String email, String password) 
    {
          System.out.println("Test");
               try
               {
                    Connection conn;
                    Statement stmt;
                    ResultSet rs;
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               conn=DriverManager.getConnection("jdbc:odbc:DataInsert","","");
               stmt=conn.createStatement();

               int nrow=stmt.executeUpdate("Insert into UserTable values('"+name+"','"+email+"','"+password+"')");
              if(nrow>0)
               {       
               System.out.println("Record Inserted");
               }
               rs=stmt.executeQuery("SELECT * FROM UserTable");
               while(rs.next())
               {
                  String getName = rs.getString(1);
                  String getEmail = rs.getString(2);
                  String getPassword = rs.getString(3);

               System.out.println(getName+"     "+getEmail+"         "+getPassword);
              }
             rs.close();
             stmt.close();
             conn.close();

             }   //end of try block 
             catch(ClassNotFoundException e)
             {

            e.printStackTrace();

            }
            catch(SQLException w)
            {
            w.printStackTrace();

            }
        }

}
  • 写回答

2条回答 默认 最新

  • weixin_33739523 2014-10-09 07:56
    关注

    you should change this URL url:"localhost:8080/RestDemo/UserInfoService" in the ajax post, should be the url pattern for the mapped servlet file in Web.xml

     $.ajax({
                         type:"POST",
                         url:"/UserInfoService",
                         dataType:"json",
                         data:jsonString
    
           });
    

    Try /rest/UserInfoService if the above one doesnt work.

    i expect you are calling the UserInfo from your jsp file

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码