JavaWeb学习过程之MVC查询模式详解

 更新时间:2016年09月17日 11:07:03   作者:u忆乐天  
这篇文章主要介绍了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查询模式详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Tomcat版本与Java版本的关系及说明

    Tomcat版本与Java版本的关系及说明

    这篇文章主要介绍了Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 浅析Java NIO 直接缓冲区和非直接缓冲区

    浅析Java NIO 直接缓冲区和非直接缓冲区

    本篇文章主要为大家介绍了Java NIO 中直接缓冲区和非直接缓冲区的定义以及使用流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • springSecurity+jwt使用小结

    springSecurity+jwt使用小结

    本文介绍了使用Spring Security与JWT进行身份验证和授权,实现用户认证和授权的详细流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • java 通过 SmbFile 类操作共享文件夹的示例

    java 通过 SmbFile 类操作共享文件夹的示例

    这篇文章主要介绍了java 通过 SmbFile 类操作共享文件夹,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • SpringBoot中定时任务@Scheduled的多线程使用详解

    SpringBoot中定时任务@Scheduled的多线程使用详解

    这篇文章主要为大家详细介绍了pring Boot定时任务@Scheduled的多线程原理以及如何加入线程池来处理定时任务,感兴趣的可以了解一下
    2023-04-04
  • 强烈推荐这些提升代码效率的IDEA使用技巧

    强烈推荐这些提升代码效率的IDEA使用技巧

    在平常的开发中,发现一些同事对Idea 使用的不是很熟练,仅仅用来编辑,编译,不能很好的发挥Idea 的神奇.整理了下我平常用的一些技巧,希望你能从中学习到一些.需要的朋友可以参考下
    2021-05-05
  • Java实现推箱子游戏

    Java实现推箱子游戏

    这篇文章主要为大家详细介绍了Java实现推箱子游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Java中Base64加密解密举例详解

    Java中Base64加密解密举例详解

    Base64编码是我们程序开发中经常使用到的编码方法,它是一种基于用64个可打印字符来表示二进制数据的表示方法,这篇文章主要给大家介绍了关于Java中Base64加密解密的相关资料,需要的朋友可以参考下
    2024-05-05
  • 一文带你了解SpringBoot中常用注解的原理和使用

    一文带你了解SpringBoot中常用注解的原理和使用

    这篇文章主要介绍了一文带你了解SpringBoot中常用注解的原理和使用
    2022-11-11
  • Java http请求封装工具类代码实例

    Java http请求封装工具类代码实例

    这篇文章主要介绍了Java http请求封装工具类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论