# 產學-學習筆記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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.