# 產學-學習筆記01 環境建置.Struts2 ###### tags: `學習筆記` `JAVA` `查詢類` `Struts2` --- # 總攬 * ### 課程內容:框架framework 1. Front-end前端(30%): CSS,javaScript,jquery ,boot-strap,node.js, Typecript ,vue , angular , react 2. Back-end後端(70%): struts2 , Spring , Hibernat * ### 開發環境與工具 1. JDK8.0 2. IDE 3. Eclipse javaEE 4. Visual studio code 5. server 6. web-server:TomEE(完整,大,慢)-可用tomcat(簡易,小,快) 7. database-server:Mysql 5.6 * ### Maven管理專案 1. Eclipse 新增 2. Build path->servlet api 3. Pom.xml 4. Maven repository --- # Struts2 * ### MVC 1. V(view):現在少用 2. C(Control):主要的應用目的,取代servlet * ### 撰寫流程 1. Pom.xml載入JAR 2. Web.xml通知webserver預先載入 3. 撰寫 action檔 i. Extends ActionSupport ii. Public String execute() throws Exception * ### 撰寫struts.xml管理控制流程 * ### Struts2-撰寫流程 1. MVC->C(controller) 2. http://struts.apache.org 3. 配置 (1) Web.xml a. 定義struts2所需的jar (2)建立action類別 目的:取代servlet a. ActionSupport a1. 定義所需bean a2.`Public String excute() throws Exception` (3)配置struts.xml 目的:實體化action物件 a. 指定action目的網頁 4. Struts五個回傳專有名詞(專有名詞不用雙引號) (1) SUCCESS=”success” (2) ERROR=”error” (3) NONE=”none” (4) INPUT=”input” (5) LOGIN=”login” --- # 環境安裝 ### 1.安裝jdk.jre(開發環境) jdk-8u221-windows-x64 檢查  ### 2.安裝Eclipse javaEE(開發工具) https://www.eclipse.org/downloads/ 有勾選項目都勾    裝好後先別開啟   ### 3.安裝TomEE(保留,建議裝Tomcat比較快,下方)(Server) :::spoiler 點選顯示完整內容 https://tomee.apache.org/   解壓縮到工作資料夾  開啟eclipse,選擇工作資料夾(剛剛放tomee的地方)  安裝 掛入tomee server   9.0就是tomee  選擇tomee資料夾(要選到可以看到下圖6個圖示的地方)  掛入後  tomee(建專案解決api,同Tomcat)  Server web.xml 238行 false改true(TomEE才要)-改好後server重啟 這樣就可以jsp改甚麼,網頁重新整理就自動改(java檔修改還是要重run server)  ::: ### 3.安裝Tomcat(Server) https://tomcat.apache.org/download-80.cgi apache-tomcat-8.5.46  建立workspace,放入tomcat  #### 新建manven專案(此段開始為每次新建專案時須優先做的,解決bug未抓到Servlet.api)  預設-Next  輸入`org.apache.maven`(要等等)  查找點選webapp(要做web網頁用的)-Next  group id.:資料夾名稱 artifact id:專案名稱  建好後會先有紅XX (要解決,未抓到servlet的api)  解決方式 專案上右鍵   Tomcat  解決  --- # 簡介 **工具不見還原**  **調整顏色**   **介紹**  **改字體大小**    **改瀏覽器**  **run**  查ip位置 cmd `ipconfig`  網頁測 ip測   --- # 專案  1. 1不使用struts 2. 2使用struts 3. 正式專案撰寫(會用到2) --- ### 1.撰寫測試(與Struts2比較)    2個  Package -controller  servlet   這樣web.xml自動幫你連結  把get 刪了 把post 改service 可接收get post  Index 改  測試 成功  --- ### 2.運用Struts2 達成上面server與jsp連結 #### (1)Struts2 maven管理 https://mvnrepository.com/ 標準版 core   複製貼上放入pom.xml(放入< dependencies>裡)  #### (2)Struts2 MVC (撰寫MC V不用了) https://struts.apache.org/getting-started/hello-world-using-struts2.html  C控制流程 new  撰寫  修改-關鍵字(不加雙引號) 自訂(加雙引號)  修改  測試-輸入數字404(還未導頁)  #### 解決方式part01 https://struts.apache.org/core-developers/web-xml.html  ``` <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 貼在web.xml<web-app></web-app>裡面  導頁還錯 #### 解決方式part02 需要struts.xml,一定要在src/main/java底下   <font color="#f00">名字一定要struts</font>  官網貼上 https://struts.apache.org/getting-started/hello-world-using-struts2.html  ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="basicstruts2" extends="struts-default"> <action name="index"> <result>/index.jsp</result> </action> <action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp</result> </action> </package> </struts> ```  改 Name (可自訂,但要與jsp要連結的名稱相同) Class要連結jsp的controller 不能錯   測試-不管有無及格都跑到及格 再改   可正常切換(成功) --- ### 3.正式撰寫專案  1.放servlet.api(同上-環境安裝3) 2.pom.xml -> dependencies新增struts2(同上- 專案- 2(1) ) 3.web.xml新增(同上- 專案- 2(2)- 解決方式part01) 4.index.jsp  5.ok.jsp  6.error.jsp  7.Package-Controller-orderAction.java  8.Package-Model-Order.java  9.struts.xml(同上- 專案- 2(2)- 解決方式part02)  10.測試 >=0 ->成功頁 其他 ->失敗頁 空白 ->404
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up