Struts2框架—— MyEclipse搭建项目以及运行流程

Struts 框架

​ Struts2 框架是 Apache 发行的 MVC 开源框架,是表现层 web 框架

Struts 文件包

apps

docs

lib

src

apps:官方提供的 Demo

docs:官方提供的文档

lib:官方提供的 jar 包,需要用到哪个才导入哪个

src:源码

使用 MyEclipse2017 配置 Struts2 项目

  1. 创建 Web Project(配置 tomcat 服务器)

  2. 将 Struts2 lib 目录下的 jar 包复制到项目中

  3. 创建 struts.xml 文件在项目中 src 目录下

  4. 配置 struts 过滤器(配置 web.xml)

  5. 运行

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>lmhStruts2</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>/*</url-pattern>
  </filter-mapping>
</web-app>

(web.xml 文件配置)

配置 struts.xml 文件及 Action

struts.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<package name = "p1" extends = "struts-default">
		<action name = "hello" class = "com.web.action.HelloAction" method = "sayHello">
			<result name = "success">/success.jsp</result>
		</action>
	</package>
</struts>

​ package:表示包
​ name:包名,struts.xml 文件中不能有相同的包名,包名是唯一的
​ extends:继承,默认 struts-default
​ action:动作
​ name:相当于 Servlet 的映射路径
​ class:处理请求的类,相当于 Servlet
​ method:处理请求的方法
​ result:结果,返回的 jsp 页面

Action 编写

​ 在 src 中创建包并创建 Action 类,并创建准备使用的方法

package com.web.action;

public class HelloAction {
	
	public String sayHello() {
		System.out.println("Success");
		return "success";
	}

}

​ 根据类名和方法名在 struts.xml 中配好相应的名字,配置完成后启动 tomcat 服务即可访问

Struts2 执行流程

  1. tomcat 启动服务,加载 web.xml
  2. web.xml 实例化并初始化过滤器
  3. 加载 struts.xml
  4. 客户端发送请求
  5. 请求到达过滤器
  6. 截取请求 Action 名称,在 struts.xml 中寻找 Action
  7. 找到 Action 后实例化对应的动作类
  8. 调用对应的方法,获取返回值
  9. 根据返回值,找到 name 取值对应的结果视图
  10. 找到 web 页面
  11. 响应浏览器,展示结果

Struts2 文件加载顺序

  1. default.properties //不可修改
  2. struts-default.xml //不可修改
  3. struts-plugin.xml //不可修改
  4. struts.xml //可以修改(推荐)
  5. struts.properties //可以修改
  6. web.xml //可以修改,可以给过滤器配置参数

注:如果不同的文件中对相同的属性给予不同的属性值,最终结果会以后加载的文件为准,因为后加载的文件会更新之前加载的属性配置

已标记关键词 清除标记
相关推荐
Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架Struts自然拥有众多的优点:  MVC 2模型的使用  功能齐全的标志库(Tag Library)  开放源代码 好了废话少说,进入正题,截止写稿时间struts最新版本是2.3,不过是12月12日发布的(2011年),为了稳定起见,我使用的版本是struts-2.2.3.1本文分为以下几个部分: 一、搭建开发和运行环境 1、到Apache下载Strut包:http://archive.apache.org/dist/struts/ 在这里可以下载到所有版本的struts,点击 ,之后如何操作就不讲了。下载之后解压。这个版本的struts的jar有很多,我们只需添加我们自己需要的就行了,我们先搭建struts运行最基本的环境,当然jar包就是struts运行时所需的最少的jar包。所需jar如下: 网上有说需要这个又有说不需要这个,需要根据实际情况来定,实在不行就自己一个一个加,先从struts的core包开始,如果缺少jar包启动的时候就会报错,缺哪个加哪个。 2、打开MyEclipse(我用的是6.5)新建Web工程 新建项目名称为struts,选中JAVAEE5.0(这个不是必须的,但是现在都是这个,选一下也好),点击完成。 将准备好的jar包拷贝到lib目录下。 打开web.xml将其修改为如下代码: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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"> <filter> <filter-name>struts</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <login-config> <auth-method>BASIC</auth-method> </login-config> </web-app> 然后在src目录下新建一个struts.xml文件,内容如下: <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-default.xml"/> </struts> 然后在新建一个内容为空的struts.properties文件。 至此项目搭建完毕,然后将其发布。 3、发布项目myeclipse里面可以嵌入tomcat,配置外部tomcat然后将项目发布,并运行。访问http://127.0.0.1:8080/struts/,弹出如下界面: 说明运行成功。 二、第一个Struts 2.0应用程序——Hello World 下面我们进行臭名昭著的Hello World程序。几乎所有语言的第一个程序都是Hello World。在src目录上右键,新建一个类,参数如下: 类的内容如下: package com.top.web; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; public String execute(){ return SUCCESS; } } 修改struts.xml内容如下: <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-default.xml"/> <package name="" namespace="/" extends="struts-default"> <action name="helloWorld" class="com.top.web.HelloWorldAction"> <result>welcome.jsp</result> </action> </package> </struts> 在webroot目录下新建JSP页面,名字:welcome.jsp,内容如下: <%@ page language="java" pageEncoding="GBK"%> <html> <head> <title>Hello World!</title> </head> <body> Hello World! </body> </html> 目前位置目录结构应该是如下的: 重新发布运行,访问http://127.0.0.1:8080/struts/helloWorld.action出现如下界面,说明项目搭建成功:
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页