实现简单的MVC模式,通过一个小例子,不是很完美,但是可以说明一部分的问题
来源:互联网 发布:国家广电网络宽带 编辑:程序博客网 时间:2024/04/28 01:24
1.首先建立一个请求页面
<body>
<a href="listAllStudents">list the student information </a>
</body>
很简单,就是一个超链接,输出一个表中的信息
2.建立servlet,接受请求并转发
通过调用Dao接收返回从数据库中查询数据包装成的模型组合二成的list,把list转发给页面,在页面中读取
public class LlistAllStudentsServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
studentdao studentDao = new studentdao();
List<students> students = studentDao.getStudentDao();
request.setAttribute("student",students);
request.getRequestDispatcher("/student.jsp").forward(request, response);
}
3.模型层,建立DAO和数据模型
暂时在Dao中连接数据库和查询数据,返回一个List
public class studentdao {
public List getStudentDao(){
List<students> students = new ArrayList<students>();
Connection conn = null;
PreparedStatement preparedstatement = null;
ResultSet resultset = null;
String sql = "select id, name,grade,location from tb_stu";
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/student";
String user = "root";
String password = "123456";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
preparedstatement = conn.prepareStatement(sql);
resultset = preparedstatement.executeQuery();
while(resultset.next()){
int id = resultset.getInt(1);
String name = resultset.getString(2);
int grade = resultset.getInt(3);
String location = resultset.getString(4);
students stu = new students(id,name,grade,location);
students.add(stu);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(resultset != null){
try {
resultset.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(preparedstatement != null){
try {
preparedstatement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return students;
}
}
student模型
package jsp;
public class students {
private int id;
private String name;
private int grade;
private String location;
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 int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public students(int id,String name,int grade,String location){
this.id = id;
this.name = name;
this.grade = grade;
this.location = location;
}
public students(){
}
}
4.在页面中得到转发过来的数据,并一条条显示在表格中
需要注意的是要在页面中加载students模型类,语句为
<%@ page import="jsp.students" %>
<body>
<%
List<students> studs = (List<students>)request.getAttribute("student");
%>
<table>
<tr>
<th>ID</th>
<th>NAME</th>
<th>GRADE</th>
<th>LOCATION</th>
</tr>
<tr>
<%
for(students student:studs){
%>
<tr>
<td><%=student.getId() %></td>
<td><%=student.getName() %></td>
<td><%=student.getGrade() %></td>
<td><%=student.getLocation() %></td>
</tr>
<%
}
%>
</tr>
</table>
</body>
由此就可以在页面中显示
- 实现简单的MVC模式,通过一个小例子,不是很完美,但是可以说明一部分的问题
- Laravel实现一个简单的小例子
- MVC模式-简单的java小例子
- IOS 观察者模式(MVC模式的一部分,最终落脚点不是自身)
- 但是生活总不是完美的
- 一个非常简单的java小例子,但是又让我曾经绞尽脑汁
- js基础部分的一部分小例子
- 一个应用MVC的小例子
- 观察者模式的实现的一个小例子
- java 接口实现简单并能说明问题的例子
- java 接口实现简单并能说明问题的例子
- 一个简单的Spring MVC的例子
- 简单实现一个JSONP协议的小例子
- 利用select_region_point算子可以通过区域内的一个点或者区域的一部分,获取完整区域
- 通过一个小例子来说明ajax和WebService服务的使用
- spring-mvc 入门-一个简单的例子
- 一个很简单但是自己就没有注意的问题
- [问题记录.dotnet]解决“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分”
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第29讲:PHP排序和查找
- Lucene三(索引加权)
- java动态代理(JDK和cglib)
- redis内存泄露问题
- redis 学习指南
- 实现简单的MVC模式,通过一个小例子,不是很完美,但是可以说明一部分的问题
- 黑马程序员----反射技术
- windows下C的定时器timeSetEvent使用
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
- jquery语句开头的#和.分别是什么意思
- Swift_array _数组_字典_Character_String
- Android解决ListView中使用EditText所遇到的一些冲突
- POJ 3660
- HTML5