从jsp页面中的java片段访问xml表单变量的最简单方法



基本上,我有一个xml表单,将用户重定向到另一个网页。我还需要表单传递用户输入的字段。

此表单将用户重定向到jsp页面,我在页面中使用java scriptlet创建sql数据库,但我无法找到一种方法来访问用户在该java脚本中的输入。

下面是java脚本:
<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格式中得到这个变量的最好方法吗?

第一:不要在JSP中打开数据库连接。在某个模型类中这样做,并使用servlet在JSP和该模型类之间进行通信。基本上,使用MVC设计模式。

第二:使用String id = request.getParameter("id");(当然在servlet中)(如果您的输入组件是例如:<input type="text" name="id">)来获取用户输入。

另外,看一下这个PreparedStatement示例,以避免SQL注入攻击。

问候。

最新更新