国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 深入淺出Java mvc_動力節點Java學院整理

深入淺出Java mvc_動力節點Java學院整理

2020-12-09 13:28lishehe Java教程

這篇文章主要為大家詳細介紹了MVC的基礎知識,MVC是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在drp中終于接觸到了mvc,感觸是確實這樣的架構系統靈活性不少,現在感觸最深的就是使用tomcat作為服務器發布比iis好多了,起碼發布很簡單,使用起來方便。

首先來簡單的學習一下mvc的基礎知識,mvc全名是model view controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯和數據顯式分離的方法組織代碼,將業務邏輯被聚集到一個部件里面,在界面和用戶圍繞數據的交互能被改進和個性化定制的同時而不需要重新編寫業務邏輯。

概覽

深入淺出Java mvc_動力節點Java學院整理

mvc被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中,mvc是分層的思想的體現,但是區別于三層設計模式(區別以后再和大家分享)。  

深入淺出Java mvc_動力節點Java學院整理

mvc是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開。使用mvc應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。最典型的mvc就是jsp + servlet + javabean的模式。

實例解析

uml圖:大家熟悉mvc的調用流程邏輯

深入淺出Java mvc_動力節點Java學院整理

第一:jsp:由頁面指令和html組成的查詢界面query_condention.jsp,也就是咱們現在的html頁和asp頁面類似。

?
1
2
3
4
5
6
7
8
9
10
11
<html>
  <head>
    <title>學生信息</title>
  </head>
  <body>
    <form action="searchstudentservlet" method="post">
      出生日期:<input type="text" name="begindate">至<input type="text" name="enddate">
      <input type="submit" value="查詢學生">
    </form>
  </body>
</html>

第二:控制層 searchstudentservlet用來接受客戶的請求,來處理流程,調用model(studentmanager.java),轉發到要請求的后臺服務器的student_list.jsp頁面

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.text.*;
 
import java.util.*;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
 
import com.bjpowernode.exam.model.*;
import com.bjpowernode.exam.manager.*;
 
public class searchstudentservlet extends httpservlet {
 
  public void doget(httpservletrequest request, httpservletresponse response) 
  throws servletexception, ioexception {
    dopost(request, response);
  }
   
  public void dopost(httpservletrequest request, httpservletresponse response)
  throws servletexception, ioexception {
     
    string sbegindate = request.getparameter("begindate");
    string senddate = request.getparameter("enddate");
     
    date begindate = new date();
    date enddate = new date();
    try {
      begindate = new simpledateformat("yyyy-mm-dd").parse(sbegindate);
      enddate = new simpledateformat("yyyy-mm-dd").parse(senddate);
     }catch(exception e) {
      e.printstacktrace();     
     }  
     
    studentmanager studentmanager = new studentmanagerimpl();
    list<student> studentlist = studentmanager.findstudentlist(begindate, enddate);
     
    //將學生列表設置到requet范圍中
    //request.setattribute("student_list", studentlist);
     
    //轉發,轉發是在服務器端轉發的,客戶端是不知道的
    //request.getrequestdispatcher("/student_list.jsp").forward(request, response);
     
     
    //將studentlist放到session中
    httpsession session = request.getsession();
    session.setattribute("student_list", studentlist);
     
    //重定向,不會共享request
    //以下寫法錯誤,該 "/"代表了8080端口
    //response.sendredirect("/student_list.jsp");
    response.sendredirect(request.getcontextpath() + "/student_list.jsp");
  }
}

第三:student_list.jsp頁面接收數據形成html,返回到瀏覽器,渲染在界面上

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<%@ page language="java" contenttype="text/html;charset=gbk"%>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="com.bjpowernode.exam.model.*"%>
<%@ page import="com.bjpowernode.exam.manager.*"%>
<html>
  <head>
    <title>學生信息</title>
    <style type="text/css">
     /*表格寬度為1px,實線,黑色*/
      table{
        border:1px solid black;  
        border-collapse:collapse;    
      }
 
      td {
        border:1px solid black;  
        border-collapse:collapse;    
      }
       
    </style>   
  </head>
  <body>
    <table border="1">
      <tr>
        <td>學生代碼</td>
        <td>姓名</td>
        <td>性別</td>
        <td>出生日期</td>
        <td>聯系電話</td>
        <td>家庭住址</td>
        <td>班級名稱</td>
        <td>年齡</td>
      </tr>
      <%
        //list<student> studentlist = (list)request.getattribute("student_list");
        list<student> studentlist = (list)session.getattribute("student_list");
        for (iterator<student> iter=studentlist.iterator(); iter.hasnext();) {
          student student = iter.next();
      %>
      <tr>
        <td><%=student.getstudentid()%></td>
        <td><%=student.getstudentname()%></td>
        <td><%=student.getsex()%></td>
        <td><%=new simpledateformat("yyyy-mm-dd").format(student.getbirthday())%></td>
        <td><%=student.getcontacttel()%></td>
        <td><%=student.getaddress()%></td>
        <td><%=student.getclasses().getclassesname()%></td>
        <%
          long b = 1000l*60l*60l*24l*365l;
          long a = system.currenttimemillis() - student.getbirthday().gettime();
        %>
        <td><%=a/b%></td>
      </tr>
      <%
        }
      %>
    </table>
  </body>
</html>

在view的student_list.jsp頁面中是大量的html和java代碼的混合,在查詢條件界面query_condention.jsp主要是html,因為不涉及后臺數據的交互.

第四:xml配置servlet:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="iso-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
  xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  version="2.4">
  <servlet>
    <servlet-name>searchstudentservlet</servlet-name>
    <servlet-class>searchstudentservlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>searchstudentservlet</servlet-name>
    <url-pattern>/searchstudentservlet</url-pattern>
  </servlet-mapping>
   
</web-app>

第五:顯示查詢結果

深入淺出Java mvc_動力節點Java學院整理

總結

    以上query_condention.jsp(輸入查詢條件)、searchstudentservlet.java(請求控制control分)+student_list.jsp(界面顯示)的組合相當于三層中的u層,都與界面的顯示相關,而studentmanager.java才是進入業務處理相當于三層的b層。故,我們可以簡單理解成,mvc就是java基于u層的又一個細化,將界面顯示和請求處理做了進一步細化分工。 

    mvc被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中,mvc是分層的思想的體現,但是區別于三層設計模式(區別以后再和大家分享)。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 你懂的免费在线观看 | 日本一区二区精品 | 欧美大片免费影院在线观看 | 91精品网 | 国产乱码精品一区二区三区av | 欧美黄色免费网址 | 成年人免费在线看网站 | 特级黄一级播放 | av一区二区在线观看 | 亚洲视频在线观看网址 | 国产 一区 | 99精品久久 | av一区二区三区 | 国产福利二区 | 黄视频在线免费看 | 依人成人网 | 91九色视频国产 | 久久se精品一区精品二区 | 国产精品久久久久久久一区探花 | 日韩三级av在线 | 亚洲性生活免费视频 | 亚洲精品麻豆 | 中文字幕在线一区二区三区 | 日本不卡一区二区三区 | 国产精品免费视频一区二区三区 | 亚洲一区二区三区四区的 | 国产一区二区三区 | 日韩一区二区免费电影 | 欧美亚洲日本 | 色香蕉在线| 国产理论在线 | 国产精品影视 | 久久久国产一区二区三区 | 亚洲黄色在线视频 | 精品久久av | 欧美亚洲视频在线观看 | 色偷偷888欧美精品久久久 | 国产精品极品美女在线观看免费 | 精品在线观看一区 | 91免费看网站 | 久久久91精品国产一区二区三区 |