JavaWeb處理流程與基本jar包
處理流程:
—>client發起請求
—>前端控制器(DispatcherServlet)接收
—>呼叫處理器對映器(HandlerMapping)根據xml或註解查詢對應的處理器(Handler)
—>處理器介面卡(HandlerAdapter)執行找到的Handler
—>處理器(Handler)執行完成後向處理器介面卡(HandlerAdapter)返回ModelAndView
—>前端控制器(View resolver)根據邏輯檢視名解析成真正的檢視,並把解析後的檢視View返回給前端控制器(DispatcherServlet)
—>前端控制器將模型資料填充到request域,並向使用者響應結果。
組成部分及搭建:
前端控制器(DispatcherServlet): 用於接收請求,響應結果,相當於轉發器,中央處理器,減小向元件間的耦合度。
—> 配置:在web.xml中配置處理器對映器(HandlerMapping): 用於根據請求的url查詢Handler
處理器介面卡(HandlerAdapter): 用於執行Handler
檢視解析器(View resolver): 根據邏輯檢視解析顧真正的檢視。
檢視(View): jsp、pdf…
基本jar包:
log4j:
spring-aop:包含在應用中使用Spring 的AOP 特性時所需的類和原始碼級後設資料支援;
spring-aspects :提供對AspectJ的支援,以便可以方便的將面向方面的功能整合進IDE中
spring-beans :是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。
spring-context : 為Spring 核心提供了大量擴充套件。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI 所需的全部類instrumentation元件以及校驗Validation 方面的相關類。外部依賴spring-beans, (spring-aop)。
spring-core:Spring 框架基本的核心工具類
spring-expression:支援表示式語言
spring-jdbc:包含對Spring 對JDBC 資料訪問進行封裝的所有類;
spring-orm:包含Spring對DAO特性集進行了擴充套件,使其支援 iBATIS、J
DO、OJB、TopLink,因為Hibernate已經獨立成包了,現在不包含在這個包裡了。
spring-tx:提供對事務的支援
spring-web:含Web 應用開發時,用到Spring 框架時所需的核心類,包括自動載入Web Application Context 特性的類、Struts 與JSF 整合類、檔案上傳的支援類、Filter 類和大量工具輔助類。
spring-webmvc:包含Spring MVC 框架相關的所有類。包括框架的Servlets,Web MVC框架,控制器和檢視支援。
開發過程:
1)在web.xml中配置前端控器DisPatcherServlet;
2)配置處理器介面卡:
—> 非註解:SimpleControllerHandlerAdapter/HttpRequestHandlerAdapter
—> 註解:AnnotationMethodHandlerAdapter/RequestMappingHandlerAdapter(3.1後)
3)配置處理器對映器:
—> 非註解:BeadNameUrlHandlerMapping/SimpleUrlHandlerMapping;
—> 註解:DefaultAnnotationHandlerMapping/RequestMappingHandlerMapping(3.1後)
【注意:一般用<mvc:annotion-driven>代替上面註解方式的配置。】
4)開發Handler,實現Controller介面(呼叫service操作mapper.xml增刪改查,填充到ModelAndView,並返回);
—> @Controller:註解式實現Handler介面;
—> @RequestMapping:url對映;窄化請求(根路徑+子路徑);限制http請求方法。(對映成功後,springMVC生成一個Handler物件,物件中只包括一個對映成功的method),包含的變數:
value:引數。處理器介面卡呼叫引數繫結元件(PropertyEditor(早期)/converter(後期))將客戶端的請求引數繫結到controller方法的形參上(不是在controler中定義成員變數接收) 。
①預設支援的型別:
HttpServletRequest;HttpServletResponse; HttpSession;Model/ModelMap
②簡單型別(整型/字串/日期):
—>將request傳入的引數名和controller方法形參名稱一致即可;
—>使用@RequestParam:@RequestParam(value=“id”, required=true)Integer id
【注意:若required=true,但沒有傳入該引數,會報400-Required xxx is not present錯誤】
③pojo,繫結:須將請求的引數名與pojo中的屬性名一致,形參新增pojo即可;
method:POST/GET
—> 返回值:
ModelAndView
** String:**
①邏輯檢視名(“items/editItems”);
②redirect重定向(“redirect:queryItems.action”);
③forward頁面轉發(“forward:queryItems.action”)
** void**:在controller方法形參上定義request/response,指定響應結果:
①使用request轉向頁面:request.getRequestDispatcher("頁面路徑").forward(request, response);
②通過response頁面重定向:response.sendRedirect(“url")
③ 通過response指定響應結果,例如響應json資料:
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json串");
5)配置Handler(bean name=“/login.action” class=“…controller.loginController”)
【注意:可用
【注意:可用 <context:component-scan base-package=“..controller”/> 來代替】
6)配置檢視解析器 InternalResourceViewResolver ;
整合Mybatis :
1)配置檔案:配置別名、快取等
2) spring-dao.xml :載入配置檔案( context:property-placeholder location=“classpath:**.properties ”)、資料來源( datasource )、 sqlSessionFactory 、 mapper掃描器
3)編寫 mapper.xml
4)整合 service :
—> 定義service介面
—> 配置service: <bean id=“itemService” class=“**.impl.ItemServiceImpl”>
【注意: 若使用 <context:component-scan> 註解方式,不用再配置xml 】
—> 配置事務控制方法:事務管理器( transactionMananger )、通知( <tx:advice id=“advice” transaction-manager=“manager” )、aop( <aop:config><aop:advisor advice-ref=“advice”> pointcut=“..impl.(..)” )
部落格地址:JavaWeb處理流程與基本jar包
相關文章
- docker-執行JavaWeb服務(jar包)DockerJavaWebJAR
- 大資料處理的基本流程大資料
- 【Java】基本資料、包裝類間轉換與處理Java
- [Java] 基本資料、包裝類間轉換與處理Java
- Spark2 檔案處理和jar包執行SparkJAR
- jar命令打包與java執行jar包JARJava
- 下載mysql的JDBC的jar包流程MySqlJDBCJAR
- 深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案JARGradle
- Spring MVC框架處理Web請求的基本流程SpringMVC框架Web
- java json解析jar包基本使用記錄JavaJSONJAR
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- jar包JAR
- jar包和war包的介紹與區別JAR
- jar包、war包和ear包的介紹與區別JAR
- 非同步流程處理非同步
- KafkaSpout的處理流程Kafka
- BIEE 之 處理流程
- Flink原始碼剖析:Jar包任務提交流程原始碼JAR
- javaweb基本知識JavaWeb
- 使用JavaScript進行基本圖形操作與處理JavaScript
- 【Python自動化Excel】pandas處理Excel資料的基本流程PythonExcel
- Tomcat總體架構,啟動流程與處理請求流程Tomcat架構
- joda jar日期處理類的學習JAR
- httpmine jar包HTTPJAR
- java-jar啟動jar包JavaJAR
- 遙感影像處理流程
- Mongodb請求處理流程MongoDB
- 關於Disruptor處理流程
- javaWeb的執行流程JavaWeb
- java修改jar包JavaJAR
- centos 部署jar包CentOSJAR
- ssh所需jar包JAR
- 資料庫連線池基本介紹及常用jar包<一>資料庫JAR
- JNI開發流程與引用資料型別的處理資料型別
- 【SQL】Oracle SQL處理的流程SQLOracle
- EGADS框架處理流程分析框架
- SpringMVC請求處理流程SpringMVC
- DG發現gap處理流程