English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaWebの学習プロセスにおけるMVCクエリパターンの詳細解説

一、まずMVCとは何かを簡単に説明します。

  MVCはModel-View-Controllerの略称、つまりモデル-ビュー-コントローラー:デザインパターンであり、アプリケーションをモデル、ビュー、コントローラーの3つの核心モジュールに分割します。各モジュールは自分自身のタスクを処理します。

  モデル:アプリケーションの主体部分であり、モデルはビジネスモデルを指します。モデルは複数のビューにデータを提供できます。

  ビュー:ユーザーが見たり、インタラクションするインターフェースです。ユーザーに関連するデータを表示し、ユーザーの入力を受け取りますが、実際のビジネス処理を行いません。

  コントローラー:ユーザーの入力を受け取り、モデルとビューを呼び出し、ユーザーの要求を満たします。

  プロセス:クライアントがサーバーにリクエストを送信し、サーバーがリクエストを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);
}
}
e.printStackTrace();
}
if(rs!=null){
try {
rs.close();
catch (SQLException e) {
// TODO自動-生成捕获块
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.2つのjarパックをダウンロードしてください

      1.bcprov-ext-jdk15on-1.54.jar

      2.bcprov-jdk15on-1.54.jar

      ダウンロードURLはこちら:http://download.csdn.net/detail/cw_hello1/9557049


    2.ダウンロードした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

以下は、編集者が皆さんに紹介するJavaWeb学習プロセスのMVCクエリモデルの詳細です。皆さんの助けになれば幸いです。何か疑問があれば、コメントを残してください。編集者は迅速に回答します。また、このナウズラーニングチュートリアルサイトへのサポートに感謝します!

声明:この記事の内容はインターネットから収集され、著作権者に帰属します。コンテンツはインターネットユーザーによって自発的に提供され、アップロードされました。このサイトは所有権を持ちません。また、人工的な編集は行われていません。著作権侵害の可能性のあるコンテンツを見つけた場合は、notice#wまでメールを送ってください。3codebox.com(メール送信時は、#を@に変更してください)で報告し、関連する証拠を提供してください。一旦確認がついたら、このサイトは即座に侵害される可能性のあるコンテンツを削除します。

おすすめ