歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java框架篇---Struts入門

首先理解Struts與MVC的關系 在傳統的MVC模式中所有的請求都要先交給Servlet處理,之後由Servlet調用JavaBean,並將結果交給JSP中進行顯示。結構圖如下 Struts是Apache基金組織中Jakarta項目組的一個開源(Open Source)項目,主要就是實現了MVC設計模式,在Struts中有自己的控制器(ActionServlet),同時也提供了各種常用的頁面標簽庫以減少JSP頁面中的Scriptlet代碼,Struts實際上就屬於在傳統技術上發展起來的一種新的應用模式,其操作的本質依然還是JSP、Servlet、JavaBean等技術的應用,Struts的體系結構圖如下。 MVC與Struts各個組件的對應關系  理解以上以後 我們開始學習配置Struts開發環境 Struts屬於一套單獨的開發包,所以首先要從Apache的Jakart項目(http://jakarta.apache.org/)上下載最新的Struts開發包(http://struts.apache.org/),本人使用的是Struts 2.1的開發包,(struts-2.1.8.1-all.jar) 將Struts開發包中的lib目錄下的全部*.jar包拷貝到%TOMCAT_HOME%\lib目錄之中,也可使用myeclipse工具直接導入Struts包,下圖是包目錄 然後配置web.xml文件   fffffffffffffffffffff<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>Struts1</display-name>
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action</url-pattern>
  </filter-mapping>
</web-app>

配置struts-config.xml文件內容下面具體講解

開發第一個Struts程序

web.xml如上

struts-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
        <!-- 指定每次請求到達,重新加載資源文件 -->
        <constant name="struts.i18n.reload" value="true"/>
        <!-- 指定每次配置文件更改後,自動重新加載 -->
        <constant name="struts.configuration.xml.reload" value="true"/>
        <!-- 把主題配置為simple -->
        <constant name="struts.ui.theme" value="simple"/>
        <package name="Struts" extends="struts-default" namespace="/">
        <action name="login" class="com.linuxidc.action.LoginAction">
            <result name="success">/success.jsp</result>
        </action>
        </package>
</struts>

LoginAction.java

package com.linuxidc.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**
 *
 * @author 偶my耶
 *    action
 */
public class LoginAction extends ActionSupport {

    /**
    *
    */
    HttpServletRequest request = ServletActionContext.getRequest();
    private static final long serialVersionUID = 1L;
    @Override
    public String execute() throws Exception {
   
        String  name=request.getParameter("user_name");//獲得user_name
        request.setAttribute("name",name);//設值
        return SUCCESS;
    }
}

jsp界面

index.jsp 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 
  <body>
    <form action="login.action">
        姓名:<input type="text" name="user_name">
        <input type="submit" value="跳轉">
    </form>
  </body>
</html>

success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
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>My JSP 'index.jsp' starting page</title>

  </head>
  <%    String name=(String)request.getAttribute("name");
  %>
  <body>
  歡迎<%=name %>
    跳轉成功!!
  </body>
</html> 

Struts工作原理

 

Struts是MVC設計模式的一種具體的實現;

Struts中的核心類就是ActionForm、Action,都需要在struts-config.xml文件中進行配置。

struts2文件上傳(保存為BLOB格式) http://www.linuxidc.com/Linux/2014-06/102905.htm

Struts2的入門實例 http://www.linuxidc.com/Linux/2013-05/84618.htm

Struts2實現ModelDriven接口 http://www.linuxidc.com/Linux/2014-04/99466.htm

遇到的Struts2文件下載亂碼問題 http://www.linuxidc.com/Linux/2014-03/98990.htm

Struts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htm

Struts2 注解模式的幾個知識點 http://www.linuxidc.com/Linux/2013-06/85830.htm

Struts 的詳細介紹:請點這裡
Struts 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved