【问题标题】:how to insert in a different jsp website?如何在不同的jsp网站中插入?
【发布时间】:2014-02-01 16:42:14
【问题描述】:

我的问题是我的问题.jsp 中有错误 id 名字 email 姓氏等将被输入到一个页面 reg.jsp 中。将在contact.jsp 页面上输入问题列。你怎么做到这一点?检查下面的代码

首先,我创建了一个数据库:

CREATE TABLE `members` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `first_name` varchar(45) NOT NULL,
  `last_name` varchar(45) NOT NULL,
  `email` varchar(45) NOT NULL,
  `uname` varchar(45) NOT NULL,
  `pass` varchar(45) NOT NULL,
  `regdate` date NOT NULL,
   problem char(250) NOT NULL
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

id、first name、last name、email、uname、pass、regdate 可以在这里插入:

reg.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>REGISTRATION</title>
    </head>
    <body bgcolor="#BDBDBD">
        <form method="post" action="registration.jsp">
            <center>
            <table border="1" width="30%" cellpadding="5">
                <thead>
                    <tr>
                        <th colspan="2">Enter Information Here</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>First Name</td>
                        <td><input type="text" name="fname" value="" /></td>
                    </tr>
                    <tr>
                        <td>Last Name</td>
                        <td><input type="text" name="lname" value="" /></td>
                    </tr>
                    <tr>
                        <td>Email</td>
                        <td><input type="text" name="email" value="" /></td>
                    </tr>
                    <tr>
                        <td>User Name</td>
                        <td><input type="text" name="uname" value="" /></td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td><input type="password" name="pass" value="" /></td>
                    </tr>
                    <tr>
                        <td><input type="submit" value="Submit" /></td>
                        <td><input type="reset" value="Reset" /></td>
                    </tr>
                    <tr>
                        <td colspan="2">Already registered!! <a href="index.jsp">Login Here</a></td>
                    </tr>
                </tbody>
            </table>
            </center>
        </form>
    </body>
</html>

registration.jsp

<%@ page import ="java.sql.*" %>
<%
    String user = request.getParameter("uname");    
    String pwd = request.getParameter("pass");
    String fname = request.getParameter("fname");
    String lname = request.getParameter("lname");
    String email = request.getParameter("email");
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/users",
            "root", "");
    Statement st = con.createStatement();
    ResultSet rs;
    int i = st.executeUpdate("insert into members(first_name, last_name, email, uname, pass, regdate) values ('" + fname + "','" + lname + "','" + email + "','" + user + "','" + pwd + "', CURDATE())");
    if (i > 0) {
        //session.setAttribute("userid", user);
        response.sendRedirect("welcome.jsp");
       // out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
    } else {
        response.sendRedirect("index.jsp");
    }
%>

我的问题专栏可以在这里输入:

contact.jsp

 <title>CONTACT US</title>
<body bgcolor="#BDBDBD">

<table border=1 align="center"<tr><td>
<%
    if ((session.getAttribute("userid") == null) || (session.getAttribute("userid") == "")) {
%>
You are not logged in<br/>
<a href="index.jsp">Please Login</a>
<%} else {
%>
<form method="post" action="problem.jsp">
<%=session.getAttribute("userid")%><br />
</tr></td><tr><td>
Have a question for us?</tr></td><tr><td>
Enter your question here(250):</tr></td><tr><td>
<textarea rows="4" cols="50"></textarea></tr></td>
<tr><td>EMAIL
<input type="text" name="email" id="email" />
</tr></td>
<tr><td>
<input type="submit" value="Login" />
</tr></td>
</table>
</form>
<%
    }
%>
</body>

在这里。这是我的问题,我真的不知道该怎么做。我想输入一个问题,我输入的问题将被保存到问题栏中。这是我的代码:

问题.jsp

<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%
String prob = request.getParameter("problem");


   Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/users",
            "root", "");
    Statement st = con.createStatement();
    ResultSet rs;
    int i = st.executeUpdate("insert into members(first_name, last_name, email, uname, pass, regdate, problem) values ('" + fname + "','" + lname + "','" + email + "','" + user + "','" + pwd + "', CURDATE(),'" + prob +"'");
    if (i > 0) {
        //session.setAttribute("userid", user);
        response.sendRedirect("welcome.jsp");
       // out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
    } else {
        response.sendRedirect("index.jsp");
    }
%>

【问题讨论】:

    标签: java mysql jsp tomcat servlets


    【解决方案1】:

    您不能不惜一切代价留下空问题列,因为它设置为非空。

    【讨论】:

    • 我不明白。所以我只是想把它改成空?
    【解决方案2】:

    更改您的表架构

    CREATE TABLE `members` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `first_name` varchar(45) NOT NULL,
      `last_name` varchar(45) NOT NULL,
      `email` varchar(45) NOT NULL,
      `uname` varchar(45) NOT NULL,
      `pass` varchar(45) NOT NULL,
      `regdate` date NOT NULL,
       problem char(250) NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    

    【讨论】:

    • 是的,它应该为空,否则您永远不能将该列保留为空。你必须为每次插入提供一些价值。
    猜你喜欢
    • 2023-02-14
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 2020-12-08
    • 2013-08-07
    • 2011-07-06
    • 2020-06-16
    • 1970-01-01
    相关资源
    最近更新 更多