前言:上一篇写到项目创建和静态页面展示,这节要写的是前端表单提交数据到后端的操作,前端的表单就不写了
一、在Java Resources的src中创建一个Package包用于管理servlet控制器
二、在包下创建servlet类,类名随便取,创建servlet 会自动继承HttpServlet类
三、seevlet类接受前端数据,根据前端表单的method类型,在类下选择doGet方法或doPost方法进行实现,servlet接受前端参数的方法就是是由request变量下getParameter(name_key),name_key是指前端表单中的name属性值。
四、创建po包进行po类管理,并在管理包下创建一个po类,po类是一个对象属性集,每一个po类都对应者一张数据表,po类中的属性和数据表中的字段需要一致。
五、创建db类,这个类完全可以不用包管理,db类主要用于数据库的链接
案列:
servlet类:
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
System.out.println(name);
System.out.println(pwd);
UserServer userServer = new UserServer();
User user = userServer.sel(name, pwd);
if (user == null)
{
response.sendRedirect("defeat.html");
}
else
{
response.sendRedirect("success.html");
}
po类:
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "UserPo [id=" + id + ", name=" + name + ", pwd=" + pwd + "]";
}
db类:
private static final String URL = "jdbc:mysql://localhost:3306/mybatisdb";
private static final String NAME = "root";
private static final String PWD = "root";
private static final String DRIVER = "com.mysql.jdbc.Driver";
static {
try
{
Class.forName(DRIVER);
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getDBConnection() throws SQLException
{
return DriverManager.getConnection(URL, NAME, PWD);
}
dao类:
private Connection conn;
private PreparedStatement psmt;
private ResultSet re;
public UserPo sel(String name, String pwd)
{
String sql = "SELECT * FROM user WHERE name = ? and pwd = ?";
try
{
conn = DBConnection.getDBConnection();
psmt = conn.prepareStatement(sql);
psmt.setString(1, name);
psmt.setString(2, pwd);
re = psmt.executeQuery();
if (re.next())
{
UserPo userPo = new UserPo();
userPo.setId(re.getInt("id"));
userPo.setName(re.getString("name"));
return userPo;
}
}catch(SQLException e) {
e.printStackTrace();
}
return null;
}
service类:
private UserDao userDao;
public UserService() {
// TODO Auto-generated constructor stub
userDao = new UserDao();
}
public UserPo sel(String name, String pwd)
{
return userDao.sel(name, pwd);
}