servlet+jsp+jdbc實現從數據庫查詢用戶信息到頁面


工程創建這里就不在累述了,直接從顯示User信息列表開始。

備注:我用的是servlet3的注解功能實現的,所以不需要配置web.xml

這是我的工程目錄:

首先我們創建實體類:

public class User implements Serializable{
private static final long serialVersionUID = 1L;

public User() {

}
private Integer id;
private String name;
private String age;
private String addrs;

......省略的get和set方法......

}

然后在index.jsp頁面中寫一個鏈接如下:<a href="listUser.do">顯示用戶列表</a>。

 

然后在src下創建com.servlet.servlet包並創建UserServlet類,

@WebServlet("/listUser.do")//此處使用的是servlet的注解,listUser.do要和index.jsp中的鏈接保持一致。
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//獲取用戶列表
UserService userService=new UserService();//創建UserService對象,
List list=userService.getListAll();
request.setAttribute("list", list);
request.getRequestDispatcher("/jsp/success.jsp").forward(request, response);//跳轉到success.jsp頁面

}

}

 

然后在創建對應的UserService類,

public class UserService {
/**
* 查詢
* @return
*/
public List<User> getListAll(){
UserDao userDao = new UserDaoImpl();
List list = userDao.getListAll();
return list;
}

}

 

最后創建UserDao接口和UserDaoImpl實現類

UserDao接口

public interface UserDao {
/**
* 獲取所有用戶
* @return List
*/
List<User> getListAll();

}

UserDaoImpl實現類

public class UserDaoImpl implements UserDao{
/**
* 獲取所用用戶
*/
@Override
public List<User> getListAll() {
List<User> list=new ArrayList<User>();//創建list集合,用於保持User對象
try {
Connection conn=DBUtil.getConnection();//通過工具類直接調用getConnection方法獲取jdbc連接。
String sql="select * from user";
PreparedStatement ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
while(rs.next()){
User user=new User();//創建User對象用於保持從數據看查出來的數據
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setAge(rs.getString(3));
user.setAddrs(rs.getString(4));
list.add(user);
}
} catch (SQLException e) {

e.printStackTrace();
}
return list;
}

}

 

連接數據庫的DBUtils工具類

public class DBUtil {
private static final String URL="jdbc:mysql://localhost:3306/servlet";//數據庫名稱為servlet
private static final String USER="root";
private static final String PASSWORD="1234";
private static Connection conn=null;
static{
try {
//加載驅動
Class.forName("com.mysql.jdbc.Driver");
//創建連接
conn=DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {

e.printStackTrace();
} catch (SQLException e) {

e.printStackTrace();
}
}
public static Connection getConnection(){

return conn;
}

}

 

最后我們創建返回用戶信息的success.jsp頁面

<body>
<table border=1 cellpadding="10" cellspacing="0">
<tr>
<th>id</th>
<th>name</th>
<th>age</th>
<th>addrs</th>
</tr>

<c:forEach items="${list }" var="user">//這里使用的是jstl標簽以及el表達式顯示用戶信息
<tr>
<th>${user.id }</th> 
<th>${user.name }</th>
<th>${user.age }</th>
<th>${user.addrs }</th>
</tr>
</c:forEach>

</table>
</body>

 

最后我們創建對應的數據庫以及user數據表,然后添加幾條數據,運行下項目。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM