पहले एक जावाबीन वर्ग बनाएं जो तालिका की एक पंक्ति का प्रतिनिधित्व करता है। मुझे नहीं पता कि आप किस डेटा के बारे में बात कर रहे हैं, लेकिन चलिए एक User
लेते हैं वास्तविक दुनिया के उदाहरण के रूप में:
public class User {
private Long id;
private String name;
private Integer age;
// Add/generate public getters and setters.
}
उपरोक्त निश्चित रूप से एक उदाहरण है। वास्तविक डेटा जो दर्शाता है उसके अनुसार आपको वर्ग और गुणों का नाम देना होगा।
अब डीएओ क्लास बनाएं जो जेडीबीसी की मदद से वांछित डेटाबेस इंटरेक्शन कार्य करता है। आपको केवल यह सुनिश्चित करने की आवश्यकता है कि आपके पास क्लासपाथ में सही SQL सर्वर JDBC ड्राइवर है। मैं इसके लिए जेटीडीएस की सिफारिश कर सकता हूं क्योंकि यह माइक्रोसॉफ्ट के अपने जेडीबीसी ड्राइवरों की तुलना में काफी बेहतर और तेज है। ठीक है, मान लेते हैं कि आप सभी User
को सूचीबद्ध करना चाहते हैं s जिनकी age
समान है :
public List<User> listByAge(Integer age) throws SQLException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
List<User> users = new ArrayList<User>();
try {
connection = database.getConnection();
statement = connection.prepareStatement("SELECT id, name, age FROM user WHERE age = ?");
statement.setInt(1, age);
resultSet = statement.executeQuery();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getLong("id"));
user.setName(resultSet.getString("name"));
user.setAge(resultSet.getInt("age"));
users.add(user);
}
} finally {
if (resultSet != null) try { resultSet.close(); } catch (SQLException logOrIgnore) {}
if (statement != null) try { statement.close(); } catch (SQLException logOrIgnore) {}
if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {}
}
return users;
}
अब एक सर्वलेट क्लास बनाएं UsersServlet
जो doGet()
. में डेटा की प्रीप्रोसेसिंग करता है विधि।
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("/WEB-INF/users.jsp").forward(request, response);
}
इस सर्वलेट को web.xml में निम्नानुसार मैप करें:
<servlet>
<servlet-name>users</servlet-name>
<servlet-class>mypackage.UsersServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>users</servlet-name>
<url-pattern>/users</url-pattern>
</servlet-mapping>
<url-pattern>
पर ध्यान दें , आप इस सर्वलेट को http://example.com/context/users
. द्वारा निष्पादित कर सकते हैं ।
अब एक JSP फाइल बनाएं users.jsp
जिसे आप WEB-INF
. में डालते हैं फ़ोल्डर ताकि सर्वलेट का उपयोग किए बिना कोई भी इसे सीधे एक्सेस न कर सके। आप JSTL c:forEach
. का उपयोग कर सकते हैं एक List
. पर पुनरावृति करने के लिए :
<table>
<thead>
<tr><th>ID</th><th>Name</th><th>Age</th></tr>
</thead>
<tbody>
<c:forEach items="${users}" var="user">
<tr><td>${user.id}</td><td>${user.name}</td><td>${user.age}</td></tr>
</c:forEach>
</tbody>
</table>
इसे http://example.com/context/users
. द्वारा निष्पादित करें . यही होना चाहिए।