一.Struts2是什麼?

 1.概念:輕量級的MVC框架,主要解決了請求分發的問題,重心在控制層和表現層。低侵入性,與業務程式碼的耦合度很低。Struts2實現了MVC,並提供了一系列API,採用模式化方式簡化業務開發過程。

   Struts2主要運用在傳送請求的情況下,是標準的MVC框架

   M-JavaBean(實現業務邏輯,資料處理(Hibernate))
   V-jsp:只做資料顯示
   C-Servlete(Struts2(action))(接受Jsp請求,分發頁面,抵用M層)

2.與Servlet對比

  優點:業務程式碼解耦,提高開發效率

        缺點:執行效率偏低,需要使用反射、解析XML等技術手段,結構複雜

3.Struts2執行流程(圖片源自於學長的部落格)

二.搭建環境

前期準備:下載13個jar包

1.新建一個普通的javaweb專案,我命名為Demo

2.register.jsp(新建檢視層 jsp頁面)

注意:這裡的  pageEncoding="ISO-8859-1"  是不能儲存中文編碼的,所以需要改成pageEncoding="UTF-8"


   index.jsp(檢視層jsp頁面)

3.新建一個控制層 RegisterAction 類

在web-inf 下的lib 裡邊新增Struts2所需要的13個jar包

4.web.xml(在web.xml中配置Struts2的過濾器)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <welcome-file-list>
  <welcome-file>register.jsp</welcome-file>
  </welcome-file-list>
  <filter>
  <!-- 配置過濾器類 -->
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  </filter-class>
  </filter>
  <!-- 過濾器用來初始化Struts2並處理所有web請求 -->
  <filter-mapping>
    <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

5.struts.xml(在src下新建一個請求分發的配置檔案

檔名不要改,可以自行新增,建議直接下載一個完整的專案,在src下拷貝它的struts.xml檔案到自己的專案,把多餘的東西刪掉,只留如下程式碼:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
</struts>

如此下來,就算是成功搭建Struts2環境了,你學會了麼??