MVC设计模式下实现数据库的连接,并获取所有数据到浏览器页面上显示

实现建立一个学生的java类:里面封装了属性的全部属性;

public class Student {
private int id;
private String username;
private String password;
public Student() {
super();
}
public Student(int id, String username, String password) {
super();
this.id = id;
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Student [id=" + id + ", username=" + username + ", password=" + password + "]";
}

}

-------------------------------------------------------------------------------------------------

建立一个java类;实现数据库的连接,并实现查询功能,查询到所有属性的所有值,用返回一个list集合承接;

public class StudentDAO {
public List<Student> getAll(){
List<Student> list=new ArrayList<Student>();

//该方法获取连接数据库的方法
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;

String sql="select id,username,password from person";
try {
String driverClass="com.mysql.jdbc.Driver";
String url="jdbc:mysql:///test";
String user="root";
String password="lxn123";

Class.forName(driverClass);
connection=DriverManager.getConnection(url, user, password);
preparedStatement=connection.prepareStatement(sql);
resultSet=preparedStatement.executeQuery();
while(resultSet.next()){
int id=resultSet.getInt(1);
String username=resultSet.getString(2);
String password1=resultSet.getString(3);
Student student=new Student(id,username,password1);
list.add(student);
}

} catch (Exception e) {
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 (connection!=null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return list;
}
}

-------------------------------------------------------------------------------------------------

建立一个Servlet类,实现从类StudentDAO里面的getAll方法里获取到数据库里面的全部信息,和请求的转发的功能

public class ListAllStudent extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

StudentDAO studentDAO=new StudentDAO();

List<Student> students=studentDAO.getAll();
request.setAttribute("student", students);

//请求的转发的地址
request.getRequestDispatcher("/students.jsp").forward(request, response);
}

}

------------------------------------------------------------------------------------------------

请求转发的地址在这儿students.jsp:是一个jsp文件

<%@page import="com.lanqiao.javatest.Student"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
List<Student> names=(List<Student>)request.getAttribute("student");
%>

<table border="1">
<tr>
<th>Id</th>
<th>userName</th>
<th>password</th>
</tr>
<%for(Student list:names){%>
<tr>
<td><%=list.getId()%></td>
<td><%=list.getUsername()%></td>
<td><%=list.getPassword()%></td>
<tr>
<%}%>
</table>

</body>
</html>

-------------------------------------------------------------------------------------------------

是一个jsp文件,test.jsp,是一个超链接,其内容显示在浏览器页面上,点击可实现这个工程要求的功能

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="listAllStudent">List All Student Page</a>
</body>
</html>

点击超链接前:

点击超链接后:

数据库中的源文件为:

--------------------------------------------------------------------------------------------------

在lib下面web.xml文件内容为:里面设置和反射获取信息;

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

<servlet>
<description></description>
<display-name>ListAllStudent</display-name>
<servlet-name>ListAllStudent</servlet-name>
<servlet-class>com.lanqiao.javatest.ListAllStudent</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListAllStudent</servlet-name>
<url-pattern>/listAllStudent</url-pattern>
</servlet-mapping>
</web-app>

时间: 2024-10-03 05:40:49

MVC设计模式下实现数据库的连接,并获取所有数据到浏览器页面上显示的相关文章

MVC模式(Model View Controller)下实现数据库的连接,对数据的删,查操作

MVC模式(Model View Controller): Model:DAO模型 View:JSP  在页面上填写java代码实现显示 Controller:Servlet 重定向和请求的转发: 若目标的相应页面不需要从request里面读取任何信息,则可以使用重定向,可以防止表单重复提交: ------------------------------------------------------------------------------------------------ Stude

?C# MVC架构下的数据库操作-动软代码生成器

C# MVC架构下的数据库操作-动软代码生成器 介绍 动软代码生成器能够将数据库中表的数据生成Model层代码,并且封装了可供使用的BLL层和DAL层接口,供开发人员在Net平台上快速的操作数据库 使用方法 1.下载并安装动软代码生成器 2.连接数据库,并生成代码 3.将代码文件夹拷贝到项目中或添加为项目让主项目引用 4.修改DBhelper类,连接数据库 static String dbName = "ec"; static String userName = "ec&qu

读取数据库数据并在HighCharts上显示

可以看得出,图表里横纵坐标的数据都是静态的几个数据,因此我们只要从数据库读取出我们想要的横纵坐标值,然后动态赋给Chart就行了. X轴: xAxis: {                     categories: ['周一', '周二', '周三', '周四', '周五', '周六', '周日' ], //X轴的坐标值                     title: {text: '周数'},  //X轴坐标标题                 } Y轴: yAxis: {    

Reapter控件的特殊使用:使用EVAL调取asp:Repeater里面绑定的值来进行判断 根据从数据库获取的数据进行判断 ,进而显示成想要的内容

1.这个判断的过程你可以写在后台,如先在后台写一个public类型的方法:public bool CheckAduit(string code){ //根据你传入的code来判断,并返回true或者false} 然后绑定这里写:<%#CheckAduit(Convert.ToString(Eval('isaduit')))%> 2.直接写 三元表达式<%# Convert.ToString(Eval('isaduit'))=="0"?"是"?&qu

angular框架下的跨域问题(获取天气数据)

1.新浪天气:http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city=&dfc=1&charset=utf-8 2.中国天气网:1)http://www.weather.com.cn/data/sk/101010100.html 2)http://www.weather.com.cn/data/cityinfo/101010100.html 3.中国万年历:1)http://wthrcd

ASP.NET MVC 4 - 上传图片到数据库

这里演示如何在MVC WEB应用程序如何上传图片到数据库以及如何在WEB页面上显示图片.数据库表对应整个Model类,不单图片数据一个字段,我们从数据表的定义开始: CREATE TABLE [dbo].[Products] ( [ProductID] INT IDENTITY (1, 1) NOT NULL, [Name] NVARCHAR (MAX) NOT NULL, [Description] NVARCHAR (MAX) NOT NULL, [Price] DECIMAL (18, 2

JDBC-使用eclipse实现与数据库的连接测试

---恢复内容开始--- 第一步:打开eclipse,点击右键,新建一个Dynamic Web Project,,例如:名称为Test1 新建的Web项目,如下图所示: 第二步:打开mysql ,创建数据库 1 create database test2; 2 use test2; 3 4 create table t_users( 5 id int AUTO_INCREMENT primary key, 6 name varchar(20), 7 password varchar(50), 8

asp.net mvc中 下拉框联动效果 添加方法

首页查询第一级菜单的所有集合List,取到第一级的第一个下标,根据第一个下标查询第二级集合. 这样在页面就显示了 两个下拉select菜单,默认是从数据库查询的是第一个. 根据下拉框选择相应的第二级数据,在页面上面需要写一个ajax提交方法, $(function () { $('#sltCampus').on('change', function() { $.ajax({ type: "POST", url: '/Member/GetRestaurant', data: { camp

[Java][Web]Request 实现转发和 MVC 设计模式

String data = "aaaaa"; request.setAttribute("data",data); // 将数据存在 request request.getRequestDispatcher("/message.jsp").forward(request,response); // 实现转发 MVC => M model/javabean  V view/jsp  C controller / servlet 在 messa