如何使用jsp将值从HTML表单发送到数据库?

时间:2014-07-18 06:55:36

标签: html database postgresql jsp jdbc

这是HTML表单。     名称     

    

<div><label>Email id</label></div>
<div><input type="email" id="email" name="email" style="width:300px" required=""></div>
<div></div><div></div>


<div><label>Phone number</label></div>
<div><input type="text" id="phonenumber" pattern="[789][0-9]{9}" placeholder="Enter Digits only" title="Phone number must contain 10 digits.." name="phonenumber" style="width:300px" required=""></div>
<div></div><div></div>

<div><label>Gender</label></div>
<div><input type="radio" name="sex" value="male" required=""> Male
<input type="radio" name="sex" value="female"> Female</div>
<div></div><div></div>

<div><label>Birthday</label></div>
<div>
<select name="DateOfBirth_Month">
<option>- Month -</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select> 
<select name="DateOfBirth_Day">
<option>- Day -</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select> 
<select name="DateOfBirth_Year">
<option>- Year -</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
<option value="1911">1911</option>
<option value="1910">1910</option>
<option value="1909">1909</option>
<option value="1908">1908</option>
<option value="1907">1907</option>
<option value="1906">1906</option>
<option value="1905">1905</option>
<option value="1904">1904</option>
<option value="1903">1903</option>
<option value="1902">1902</option>
<option value="1901">1901</option>
<option value="1900">1900</option>
</select></div>
<div></div><div></div>
<div><label>Query</label></div>
<div><textarea name="myTextBox" cols="50" rows="5"></textarea></div>
<div></div><div></div>



<div>
<input type="submit" name="submit" value="ASK NOW" style="background:black; float:right;color:white;width:225px;height:25px;font-size:18px ;margin:20px"></div></div>

这是jsp页面。连接到postgre SQL。               验证新用户          

<body bgcolor="#FFFFFF" text="#000000">
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>

<%
        Connection con = null;

        String name = request.getParameter("firstname");
        String eaddress = request.getParameter("email");
        String phone = request.getParameter("phonenumber");
        char gender = request.getParameter("sex");
        String dob = request.getParameter("DateOfBirth_Month");
        string query = request.getParameter("myTextBox");
        String userid = request.getParameter("UserName");
        String pw = request.getParameter("Password");


        String queryText = "insert into info (\"fname\", \"email_id\", \"phone_number\",\"gender\",\"birthday\", \"username\", \"password\") values('\'+name+\'','\'+eaddress+\'','\'+phone+\'','\'+gender+\'','\'+dob+\'','\'+query+\'','\'+ userid+\'','\'+pw+\'')";

        try {
              Class.forName("org.postgresql.Driver");
              con = DriverManager.getConnection("jdbc:postgresql://localhost/enquiry","postgres","postgre");

            Statement stat = con.createStatement();

            ResultSet rst = stat.executeQuery(queryText);

            rst.close();
            stat.close();
            con.close();
        } catch (Exception e) {
            System.err.println("SQLException: " + e.getMessage());  
            }

        response.sendRedirect("home.html");
%>



</body>
</html>

上述代码有什么问题?它不起作用。表格工作正常。主要是jsp页面有问题。什么是错误。

1 个答案:

答案 0 :(得分:0)

无需在insert into语句中写入所有列名,如果您没有插入所有列,则使用update语句。

 String queryText = "insert into info values('"+name+"','"+eaddress+"','"+phone+"','"+gender+"','"+dob+"','"+query+"','"+userid+"','"+pw+"')";


        try {
              Class.forName("org.postgresql.Driver");
              con = DriverManager.getConnection("jdbc:postgresql://localhost/enquiry","postgres","postgre");

            Statement stat = con.createStatement();

            ResultSet rst = stat.executeQuery(queryText);
if(rst>0)
System.out.println("anything here ") ;

            rst.close();
            stat.close();
            con.close();

如果条件允许你检查你的查询是否被执行,或者不是异常就不会发现它