1. 程式人生 > >Struts2框架建立流程

Struts2框架建立流程

Struts2框架建立流程

工具:MyEclipse

- 搭建過程:
1. 首先新建一個普通的JavaWeb專案如圖:
在這裡插入圖片描述

2. 然後需要匯入jar包將其放在WebRoot的Web-INF的lib下:
在這裡插入圖片描述**
注意:匯入會自動解析並放入Web App Libraries下;如果沒有解析右擊選擇Build Path然後選擇Add to Bulid Path如圖:
在這裡插入圖片描述

3. 接著我們來配置一下web.xml檔案
配置一個許可權過濾器,過濾所有路徑程式碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <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>/*</url-pattern>
  </filter-mapping>
</web-app>

注意:filter-class的路徑在Web App Libraries下。

4. 新建一個檢視層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>註冊頁面</title>
  </head>
  <body>
   <form action="register" method="post">
      使用者名稱:<input type="text" name="name" /><br/>
      性別:<input type="text" name="sex" /><br/>
   <input type="button" value="提交">
   </form>
  </body>
</html>

然後需要再新建一個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>錄入資訊</title>
  </head>
  <body>
      使用者名稱:${requestScope.name }<br/>
      性別:   ${requestScope.sex }<br/> 
  </body>
</html>

5. 需要src下新建一個控制層 RegisterAction 類來接收所傳輸的內容:
在這裡插入圖片描述
然後對定義的name和sex進行取值賦值程式碼如下:

package com.hnpi.contrller;

public class RegisterServlet {
    private String name;
    private String sex;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
    public String  execute(){
		return "success";
	}
}

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.2//EN"
   "http://struts.apache.org/dtds/struts-2.2.dtd">
<struts>
    <package name="default" extends="struts-default">
       <!--action name的值應和register.jsp的action相同 -->
       <action name="register"
               class="com.hnpi.contrller.RegisterServlet" method="execute">
               <!-- name的值應和RegisterServlet的返回值相同 -->
               <result name="success">/index.jsp</result>  
             </action>
    
    </package>
</struts>

到這裡,一個Struts2的專案就完成了。