JSP вставляет данные в базу данных MYSQL - PullRequest
0 голосов
/ 24 декабря 2011

Итак, я работаю над домашней работой JSP и пытаюсь заставить пользователя ввести имя пользователя и пароль, которые затем будут добавлены в мою базу данных SQL. Я искал через гугл уже как 3 часа сейчас пробую разные методы но пока безуспешно. до сих пор самое близкое, что я получил, было что-то очень простое, например

"INSERT into database_name (username, password) VALUE = (${'param.rusername'}, ${'rpassword})"

В любом случае, я поиграл с несколькими разными методами, и вот так выглядит моя JSP-страница.

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ page import="java.sql.*" %> 
<%@ page import="java.io.*" %> 

<sql:setDataSource scope="application"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/my_schema"
user="root"
password="******"
/> 

<c:choose>
<c:when test="${empty param.rusername && empty param.rpassword}">
    <jsp:forward page="newUser.jsp" />     
</c:when>
</c:choose>                             

<html>
<body>
    <h1>Registration Complete</h1>
    <a href="index.jsp">Return to login</A>

    <%

    String username = request.getParameter("rusername");
    String password = request.getParameter("rpassword");

    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/my_schema", "root", "*****");

    Statement st = con.createStatement();

    String sql = ("INSERT INTO login VALUES ('password' + 'username')");
    st.executeUpdate(sql);
    con.close();

    %>
</body>
</html>

1 Ответ

0 голосов
/ 24 декабря 2011

Я бы не рекомендовал делать это.

Если нужно, прочитайте о тегах JSTL <sql>;они облегчат эту проблему.Следует избегать кода Scriptlet любой ценой.

...