servlet+jsp+jdbc實現從資料庫查詢使用者資訊到頁面

來源:互聯網
上載者:User

標籤:載入驅動   std   cal   分享   word   foreach   string   class   list   

工程建立這裡就不在累述了,直接從顯示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實作類別

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

}

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資料表,然後添加幾條資料,運行下項目。

servlet+jsp+jdbc實現從資料庫查詢使用者資訊到頁面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.