JavaWeb学习过程之MVC查询模式详解
一、首先先了解一下 什么是mvc?
mvc是model-view-controller的简称,即模型-视图-控制器。它是一种设计模式,它吧应用程序分成三个核心模块,模型,视图,控制器。他们各自处理自己的任务。
模型:是应用程序的主体部分,模型指的是业务模型。 一个模型可以为多个视图提供数据。
视图:是用户看到的并与之交互的界面。 可以向用户显示相关的数据,接受用户的输入,但是它不进行任何实际的业务处理。
控制器:接受用户的输入并调用模型和视图,完成用户的需求。
流程: 客户端发送请求到 服务器, 服务器 将请求发送给servlet ,servlet接收请求,根据请求的业务逻辑调用model层,然后在想servlet返回一个结果,根据结果 转向(转发,重定向)一个页面。
二、具体查询
问题:点击页面的一个超链接,显示数据库里学生的信息
1.根目录结构
2.
创建一个学生类student。
内容属性: 获取get,set方法。
private string studentid; private string name; private string idcard; private string sex; private int age; private int grade;
2.创建一个studentdao类 用于获取数据库信息 返回学生链表
内容:其中有我自己找的一个工具类
public class studentdao { public list<student> getall(){ list<student> students=new arraylist<student>(); resultset rs=null; try { string sql ="select studentid,name,idcard,sex,age,grade from student"; rs=dbconnection.executequery(sql); while(rs.next()){ string studentid=rs.getstring(1); string name=rs.getstring(2); string idcard=rs.getstring(3); string sex=rs.getstring(4); int age=rs.getint(5); int grade=rs.getint(6); student student=new student(studentid, name, idcard, sex, age, grade); students.add(student); } } catch (exception e) { e.printstacktrace(); }finally{ if(rs!=null){ try { rs.close(); } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } } } return students; } }
3.创建一个servlet 类名为listallstudentservlet 配置属性。 只改写doget() 方法。 因为另一个页面需要获取学生链表 可以 用转发的方式进行编写。
内容:
public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { studentdao studentdao=new studentdao(); list<student> students=studentdao.getall(); request.setattribute("students", students); request.getrequestdispatcher("/student.jsp").forward(request, response); // 转发 }
4.创建一个test.jsp 用于发送请求。
内容:<a href="listallstudent">list all students</a>
5.创建显示页面,student.jsp
内容:
<body> <% list<student> students=(list<student>)request.getattribute("students"); %> <h3>學生信息表</h3> <table> <tr> <th>studentid</th> <th>name</th> <th>idcard</th> <th>sex</th> <th>age</th> <th>grade</th> </tr> <% for(student student:students){ %> <tr> <td><%=student.getstudentid() %></td> <td><%=student.getname() %></td> <td><%=student.getidcard() %></td> <td><%=student.getsex() %></td> <td><%=student.getage() %></td> <td><%=student.getgrade() %></td> </tr> <% } %> </table> </body>
6.显示
三、学习过程中遇到的问题
1.在连接sqlserver 数据库时 出现了 这个问题。
问题:驱动程序无法通过使用安全套接字层(ssl)加密与 sql server 建立安全连接。错误:“server key”。
解决方法:
这个问题是jdk与数据库之间的安全秘钥的问题。
方案就是:
1.下载两个jar包
1.bcprov-ext-jdk15on-1.54.jar
2.bcprov-jdk15on-1.54.jar
下载地址在:http://download.csdn.net/detail/cw_hello1/9557049
2.将下载的两个jar文件复制到:jdk安装目录\jre\lib\ext下,例如我的就是d:\program files (x86)\java\jdk1.6\jre\lib\ext
3.打开java.security文件:在jdk安装目录\jre\lib\security下的java.security文件。
找到security.provider.1=sun.security.provider.sun换成
security.provider.1=org.bouncycastle.jce.provider.bouncycastleprovider
以上所述是小编给大家介绍的javaweb学习过程之mvc查询模式详解,希望对大家有所帮助
上一篇: 出现次数超过一半(50%)的数