我是新的spring Mvc,我被阻止在我的jsp page
中从我的input text
检索数据。
我想从表单中检索用户数据,以便使用简单的JDBC
连接将其插入数据库,并确保用户不存在于数据库中。
也许我的代码可以更好地解释这个问题:
这是负责检索数据并将其插入数据库的控制器:
@Controller()
public class AddController {
@Inject
@Named(value = "dataSource")
private DataSource dataSource1;
@RequestMapping(value = "/addDB", method = RequestMethod.GET)
public void Add(){
ResultSet resultSet = null;
PreparedStatement preparedStatement = null;
Connection connection = null;
String insert = "insert into user values(?,?,?,?)";
try {
connection = dataSource1.getConnection();
preparedStatement = connection.prepareStatement(insert);
preparedStatement.setString(1,//what to write here );
preparedStatement.setString(2,***);
preparedStatement.setString(3,***);
preparedStatement.setString(4,***);
resultSet = preparedStatement.executeQuery();
}
}
这是我的JSP页面:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:url value="/addDB" var="addUrl" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type='text/javascript'>
$(function() {
$('#add').click(function() {
$.get('${addUrl}');
});
});
</script>
</head>
<body>
<form>
<fieldset style="width: 472px;">
<legend>Add user </legend>
<div>
<p>
<label>num</label> <input name="num" type="text" />
</p>
</div>
<div>
<p>
<label>name</label> <input name="name" type="text" />
</p>
</div>
<div>
<p>
<label>phone</label> <input name="phone" type="text" />
</p>
</div>
<div>
<p>
<label>age</label> <input name="age" type="text" />
</p>
</div>
<div align="center">
<p>
<button class="button" type="button" value="add">add
</button>
</p>
</div>
</fieldset>
</form>
</body>
我的工作是否正确?是不是少了什么?
因为SpringMVC有三层(模型,视图,控制器),你不应该在你的控制器中包含SQL代码。尝试为项目中的每个持久类创建一个DAO类。您的DAO类至少将具有插入、更新、删除和列表方法。然后你要做的就是在你的控制器中使用dao类。