English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
1. 먼저 MVC가 무엇인지 알아보겠습니다.
MVC는 Model-View-Controller의 약자, 즉 모델-뷰-컨트롤러: 이는 애플리케이션을 모델, 뷰, 컨트롤러로 세 가지 핵심 모듈로 나누는 디자인 패턴입니다. 각각은 자신의 작업을 처리합니다.
모델: 애플리케이션의 주체 부분입니다. 모델은 비즈니스 모델을 의미합니다. 하나의 모델은 여러 뷰에 데이터를 제공할 수 있습니다.
뷰: 사용자가 볼 수 있고 상호작용할 수 있는 인터페이스입니다. 사용자에게 관련 데이터를 표시하고 사용자의 입력을 받을 수 있지만, 실제 비즈니스 처리를 수행하지 않습니다.
컨트롤러: 사용자의 입력을 받아 모델과 뷰를 호출하여 사용자의 요구를 충족합니다.
프로세스: 클라이언트가 서버로 요청을 보내면, 서버는 요청을 servlet에 보내고, servlet이 요청을 수신하여 요청의 비즈니스 로직을 호출하고, 그런 다음 servlet에 결과를 반환하고, 결과에 따라 페이지를 전환(전환, 리디렉션)합니다.
2. 구체적인 쿼리
문제: 페이지의 하나의 하이퍼링크를 클릭하여 데이터베이스에서 학생 정보를 표시
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.ListAllStudentServlet라는 이름의 servlet을 생성하고 속성을 구성합니다. 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">모든 학생 목록 보기</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.표시됩니다
3. 학습 과정에서 발생한 문제
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 쿼리 모델의 상세 설명입니다. 여러분께 도움이 되길 바랍니다. 어떤 질문이 있으시면 댓글을 남겨 주시기 바랍니다.編集자는 즉시 답변을 드리겠습니다. 또한,呐喊教程网站에 대한 여러분의 지원에 깊이 감사드립니다!
성명: 본문은 인터넷에서 가져왔으며, 원작자의 소유물입니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 이 사이트는 소유권을 가지지 않으며, 인공 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 문제가 있음을 발견하시면 notice#w로 이메일을 보내 주시기 바랍니다.3codebox.com(이메일을 보내면, #을 @으로 변경하십시오.)에서 신고하시고 관련 증거를 제공하시면, 해당 내용이 사실이 확인되면 즉시 해당 내용을 삭제하겠습니다.