从一开始的网络编程(TCP编程对Socket进行监听,到HTTP编程),现在终于可以使用强大的API进行JavaEE编程了,Servlet底层封装了各种网络协议的处理,使我们不再深陷于对协议的编程,我们只需要处理请求和返回响应就行了。这次是个简单的用Servlet类来处理对用户的简单的增删改查,我们通过对实体类与数据库的映射来将数据传送到JSP页面上进行展示。
一、Jar包的引入
一开始使用Servlet编程时需要引入ServletAPI这个Jar包,但是我们是Web应用只需要将应用放在Tomcat服务器上运行就行了,而Tomcat里面继承了Servlet接口所以这边不再引入,我们只需要引入利于开发和调试内嵌式TomcatJar包以及Mysql的Jar包就可以:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>${tomcat.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
二、Service层核心代码
这边我们使用的是纯JDBC编程啊:
public class UserService {
public static final String url = "jdbc:mysql://127.0.0.1:3306/test";
public static final String username = "root";
public static final String password = "root";
public User getUserById(int id) {
try(Connection connection = DriverManager.getConnection(url, username, password)){
try(PreparedStatement preparedStatement = connection.prepareStatement("select id, email, name, password from user where id = ?")){
preparedStatement.setObject(1, 1);
ResultSet rs = preparedStatement.executeQuery();
rs.next();
int id1 = rs.getInt("id");
String email = rs.getString("email");
System.out.println(email);
String name1 = rs.getString("name");
String password1 = rs.getString("password");
return new User(id1, email, name1, password1);
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
public List<User> getAllOrderByAsc(int begin)