页面到servlet层
首先创建web项目,首先要有jsp页面以action方式(doGet,post方法)进行传输,action内写的方法内容,根据名称在web.xml中<servlet-mapping>下<url-pattern>内相同根据<servlet-name>相同找到<servlet>下的<servlet-name>找到<servlet-class>对应的Class类执行其中的doGet或者post方法,通过方法中调用jdbc层方法,在通过jdbc对于数据库经行数据交互。
本文主要写数据流向,梳理关系各层之间的关系,对映射,方法实现进行解析。
Servlet层到dao层
首先创建PreparedStatement对象方式为:
//perparedStatement:sql执行预编译对象,效率高于Statement
PreparedStatement perparedStatement=connection.preparedStatement(sql);
//connection首先连接数据库其中需要四个属性:
userName=”数据库用户名”
password=”数据库密码”
url=”jdbc:mysql://localhost/数据表”
driver=”com.mysql.jdbc.Driver”
经行数据库连接初始化:
public void initMysql(){
Class.forName(Deiver);
Connection connection=DriverManager.getConnection(url,userName,pass);
}
数据库连接成功;
调用connection.perparedStatement(sql);
//执行sql语句
sql语句中{insert,select,update,delete}
*其中insert,update,delete需要进行executeUpdate经行数据提交更新数据表,
*而select不存在更改数据表,数据查找数据表后,会返回查找的个数为ResultSet通过perparedStatement调用executeQuery
ResultSet rs=perparedStatement.executeQuery();
具体方法如下:
public List<Member> selectUser() throws Exception {
// 查找出所有用户
PreparedStatement ps = connection.prepareStatement(selectSql);
List<Member> list =new ArrayList<Member>();
ResultSet rs = ps.executeQuery();
Member resultMember = new Member();
while (rs.next()) {
resultMember.setName(rs.getString(2));
resultMember.setPassword(rs.getString(3));
resultMember.setTrueName(rs.getString(4));
resultMember.setEmail(rs.getString(5));
resultMember.setPhone(rs.getString(6));
list.add(resultMember);
}
ps.close();
return list;
}
Servlet层到jsp
返回servlet后通过方法将想要显示到前台信息的通过调用request的setAttribute将信息显示到前台,再通过请求的转发或者重定向的方式发送到页面。
httpServletRequest request=new httpServletRequest();
httpServletResponse response=new httpServletRequest();
request.setAttribute(key,value);//信息发送,value为先发送的值
Request.getRequestDispatcher(“请求页面”).forward(request,response);//请求的转发
Request .sendRedirect(String Localhost);//重定向
前端可以通过request.getAttribute(key)获取值,可以添加标签
一个流程的数据流向结束 前端————数据库————前端