基本上,我有一个将用户重定向到另一个网页的xml表单。我需要的形式,也通过在一个领域,用户输入。
这个表单将用户重定向到一个jsp页面,我在页面中使用了一个java scriptlet来创建一个sql数据库,但是我想不出一种方法来访问用户在该java脚本中的输入。
下面是java sciptlet:
<jsp:scriptlet><![CDATA[
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, "root", "");
stmt = con.createStatement();
stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS new_presidents_db;");
stmt.executeUpdate("use new_presidents_db");
stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS new_presidents_db;");
stmt.executeUpdate("DROP TABLE IF EXISTS presidents_table;");
stmt.executeUpdate("CREATE TABLE presidents_table (id INT, presidents_name varchar(50), PRIMARY KEY (id));");
stmt.executeUpdate("INSERT INTO presidents_table (id, presidents_name) VALUES ('1', 'George Washington')");
stmt.executeUpdate("INSERT INTO presidents_table (id, presidents_name) VALUES ('2', 'John Adams')");
stmt.executeUpdate("INSERT INTO presidents_table (id, presidents_name) VALUES ('3', 'Thomas Jefferson')");
ResultSet result = stmt.executeQuery("SELECT * FROM presidents_table;");
String resultString=null;
Integer i = 1;
while(result.next() && i < 3)
{
resultString=result.getString(i);
out.println(resultString);
i++;
}
con.close();
]]></jsp:scriptlet>我希望在sql select语句中包含SELECT * FROM presidents_table WHERE id = "user input variable here";
但是我不知道如何从表单中访问该变量。
我对java比较熟悉,但是jsp和表单对我来说是完全陌生的。有人知道从xml表单中获取此变量的最佳方法吗?
发布于 2013-05-01 00:31:51
第一:不要在JSP中打开数据库连接。在一些模型类中执行此操作,并使用servlet在JSP和模型类之间进行通信。基本上,使用MVC设计模式。
其次:使用String id = request.getParameter("id"); (当然是在servlet中)(例如,如果您的输入组件是:<input type="text" name="id">)来获取用户输入。
另外,请看这个PreparedStatement示例,以避免SQL注入攻击。
致以问候。
https://stackoverflow.com/questions/16304431
复制相似问题