页面到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)获取值,可以添加标签

 

一个流程的数据流向结束     前端————数据库————前端