程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Struts1運行原理以及整合步驟,struts1原理整合

Struts1運行原理以及整合步驟,struts1原理整合

編輯:JAVA綜合教程

Struts1運行原理以及整合步驟,struts1原理整合


Struts1

 struts1運行步驟

1、項目初始化:項目啟動時加載web.xml,struts1的總控制器ActionServlet是一個Servlet,它在web.xml中是配置成自動啟動的Servlet,在啟動時總控制器   會讀取配置文件(struts-config.xml)的配置信息,為struts中不同的模塊初始化相應的對象。

2、發送請求:用戶發送請求,請求都被ActionServlet中央控制器(在web.xml裡面配置好的)接收到,會讀取配置文件(srtuts- config)找到請求對應的Action對  象。

3、請求參數:struts的總控制器ActionServlet在用戶提交請求時將數據放到對應的ActionForm對象中,actionForm根據配置文件裡配置的name=“”來自動接收  表單數據。

4、分發請求:控制器根據配置信息對象ActionConfig將請求派發到具體的Action,對應的FormBean一並傳給這個Action中的excute()方法。

5、處理業務:Action一般只包含一個excute()方法,它負責執行相應的業務邏輯(調用其它的業務模塊)完畢後返回一個ActionForward對象。服務器通過      ActionForward對象進行轉發工作。

6、返回響應:Action將業務處理的不同結果返回一個目標響應對象給總控制器。

7、查找響應:總控制器根據Action處理業務返回的目標響應對象,找到對應的資源對象,一般情況下為jsp頁面。

8、響應用戶:目標響應對象將結果傳遞給資源對象,將結果展現給用戶。

 

總結:客戶端發送請求.do,分發給相應的action進行處理。進行處理的時候需要傳幾個參 數:request,response,mapping(把配置拿出來封裝成一個對象取出來), 還有一個actionForm(根據配置文件裡配置的name=“”來自動接收表單數據,最終調用業邏輯,拿到一些數據返回來,返回 ActionServlet的是一個actionForward的跳轉信息,通過mapping.findForward找到然後servlet裡面它會 幫你自動的挑戰到相應的頁面

 

整合步驟:(導入相應jar包)

第一步:配置web.xml

    <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
   </servlet>

 <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
 </servlet-mapping>

 第二步:配置struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
	<action-mappings>
          <!-- path 客戶請求的路徑welcome.do type請求對應的Action對象 --> <action path="/welcome" type="com.lwl.Action.WelcomeAction" >
              <forward name="success" path="/WEB-INF/page/welcome.jsp"></forward>
          </action>
           <init-param>
              <param-name>config</param-name>
              <param-value>/WEB-INF/struts-config.xml</param-value>
            </init-param>
</action-mappings> </struts-config>

第三步:編寫Action對象

public class WelcomeAction extends ActionServlet {
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) return mapping.findForward("success");
}

 第四步:編寫welcome.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>PersonList</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
      你好 struts1運行成功
  </body>
</html>

 第五步:測試

  訪問地址:localhost:8080/項目名/welcome.do

  跳轉至welcome.jsp輸出:

  你好 struts1運行成功

  測試成功

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved