English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
一、首先先了解一下什么是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(); } 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) يخلق 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">عرض جميع الطلاب</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> <% للمعرفة 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. الخطأ: "مفتاح الخادم".
حل المشكلة:
هذه المشكلة هي مشكلة مفتاح سرية بين JDK والبيانات الأساسية للقاعدة.
الخطة هي:
1. قم بتحميل الجاربان
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.
ابحث عن security.provider.1=sun.security.provider.Sun وأبدله
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
ما ذكرته أعلاه هو شرح تفصيلي لمفهوم MVC في عملية تعلم JavaWeb الذي قدمه المحرر لكم، نأمل أن يكون مفيدًا لكم، إذا كان لديكم أي أسئلة، مرحبًا بكم في ترك تعليق، وسأقوم بالرد على رسائلكم في الوقت المناسب، وأشكركم أيضًا على دعمكم لموقع呐喊 لتعليم البرمجة!
البيان: محتوى هذا المقال تم جمعه من الإنترنت، يحق لصاحب الحقوق أن يكون هو المالك، يتم جمع المحتوى من قبل المستخدمين على الإنترنت الذين يقومون بتحميله بأنفسهم، ويشير هذا الموقع إلى أنه لا يمتلك حقوق الملكية، ويتم التعامل مع المحتوى بدون تعديل يدوي، ولا يتحمل الموقع أي مسؤولية قانونية ذات صلة. إذا اكتشفتم أي محتوى يشتبه في انتهاك حقوق النسخ، مرحبًا بكم في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (يرجى استبدال #بـ @ عند إرسال البريد الإلكتروني) للإبلاغ، وتقديم الدليل ذات الصلة، وسيتم حذف المحتوى المشبوه فورًا إذا تم التحقق منه.