Struts2 入门学习总结一

Struts2 入门学习总结一一、Struts2简介Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,这个框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。struts2还有以下…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、Struts2简介

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,这个框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。

struts2还有以下优点:

  • 项目开源,使用及扩展方便 – 天生优势;
  • 提供Exception处理机制;
  • Result 方式的页面导航,通过 Result 标签很方便的实现重定向和页面跳转;
  • 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易;
  • 提供简单、统一的表达式语言来访问所有可供访问的数据;
  • 提供标准、强大的验证框架和国际化框架;
  • 提供强大的、可以有效减少页面代码的标签;
  • 提供良好的Ajax支持;
  • 拥有简单的插件,只需要放入响应的 jar 包,任何人都可以扩展 Struts2 框架。

二、Struts2的工作目录结构和必须Jar包(使用的版本为2.5.17)

Struts2 入门学习总结一

apps:示例存放的目录

docs:文档存放的目录

lib:jar包存放的目录

src:源码存放的目录

Struts2 入门学习总结一

三、入门案例

1、创建工程

打开Eclipse,创建Dynamic Web Project

Struts2 入门学习总结一

选择Next,勾选Generate web.xml deployment descriptor,创建web.xml文件

Struts2 入门学习总结一

2、导入Struts2的必须Jar包

将Struts2的必须Jar包导入工程目录的WebContent目录下WEB-INF目录下的lib文件夹中

Struts2 入门学习总结一

3、配置Struts2核心过滤器

在web.xml文件中进行如下配置

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>ExampleProject</display-name>
  
	<!--配置Struts2核心拦截器  -->
	<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>
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

Jetbrains全家桶1年46,售后保障稳定

Struts的核心控制器默认拦截以下请求

  • .action为后缀的请求
  • 没有任何后缀的请求

3、编写doAction

public class doAction {
	
	public String sayHello() {
		
		System.out.printf("hello");
		
		return "success";
		
	}

}

Action中处理请求的方法(动作方法)一般有以下特点

  • 访问修饰符均为public
  • 方法的返回值一般为String(可以为void)
  • 方法均没有参数

4、创建并配置struts.xml文件

在工程目录下的Java Resource目录下的src目录下创建struts.xml文件

Struts2 入门学习总结一

在struts.xml文件中进行如下配置

5、创建index.jsp和hello.jsp

在工程目录下的WebContent目录下的WEB-INF文件夹下创建index.jsp和hello.jsp文件

index.jsp内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/hello">访问Struts示例程序</a>
</body>
</html>

hello.jsp内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>执行成功!</title>
</head>
<body>
hello,world!
</body>
</html>

6、在Tomcat服务器上运行该工程

Struts2 入门学习总结一

点击超链接转到hello.jsp页面

Struts2 入门学习总结一

四、Struts2的工作流程图

以下是Struts2的工作流程图

Struts2 入门学习总结一

  1. 客户端(Client)向Action发用一个请求(Request) 
  2. 容器(Container)通过web.xml映射请求,并获取核心过滤器(StrutsPrepareAndExecuteFilter或FilterDispatcher)在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter 
  3. 容器(Container)调用核心过滤器。核心过滤器(Controller)通过动作映射(ActionMapper)获得Action的信息 
  4. 然后核心过滤器(Controller)再调用动作类的代理类(ActionProxy ),由ActionProxy读取struts.xml文件获取Action和拦截器栈(Interceptor stack)的配置信息。 
  5. ActionProxy把Request请求传递给ActionInvocation 
  6. ActionInvocation依次调用Action和拦截器(Interceptor) ,再根据Action的配置信息生成Result 
  7. Result信息返回给ActionInvocation ,产生一个HttpServletResponse响应 
  8. 产生的HttpServletResponse响应 发送给客户端,客户端上展示响应内容。 

以上为Struts2框架的部分学习总结。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226745.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 远程访问docker容器_docker运行python程序

    远程访问docker容器_docker运行python程序                      Pycharm远程调试服务器中的代码(docker容器内部) 一、首先假设你已启动了一个docker容器,并在启动时将容器的22端口映射到宿主机的10022端口启动示例:dockerrun-d–namedjango_api-p8000:80-p10022:22-p5000:5000–linkmysql_ho…

  • 微服务架构介绍与分类「建议收藏」

    微服务架构介绍与分类「建议收藏」微服务架构介绍与分类

  • pycharm 激活码 2022【在线注册码/序列号/破解码】

    pycharm 激活码 2022【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • aptitude命令使用

    aptitude命令使用aptitude一个类似于aptinstall的命令使用引用官网的描述解释aptitude是一个功能丰富的包管理器,包括:使用类似mutt的语法灵活地检索软件包,类似dselect的持续用户操作,获取并显示大多数软件包的Debianchangelog的功能,一个类似apt-get的命令行模式。aptitude还是个Y2K兼容,轻便,自清洁以及友好的程序。常…

    2022年10月25日
  • macbook如何安装双系统_双系统安装方法

    macbook如何安装双系统_双系统安装方法1.官网https://www.microsoft.com/zh-cn/software-download/windows10ISO进入官网下载win10(因为win10仅支持win10专业版不要下家庭中文版)语言:简体中文64位2.用迅雷下否则直接下载时间会很长Mac迅雷-轻体验,大改变(拖动迅雷至文件夹,即可安装,macOS10.15安装后请到应用程序找到图标,右键打开)点击迅雷的加号新建任务在浏览器复制之后自动弹出迅雷下载对话保存位置至桌面点击下载打开浏览器.

  • 公有云和私有云的对比和区别「建议收藏」

    公有云和私有云的对比和区别「建议收藏」什么是云?云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。例如云计算:将计算作为一种服务交付给用户而不是一种产品,在这种服务中,计算资源、软件和信息如同日常的水、电一样通过互联网交付给计算机和其他的计算媒介。​云计算的三种模式​按照商业模式的不同,云计算可以被分为三大类:公有云、私有云和混合云。这三种模式构成了云基础设施构建和消费的基础。​​1、公有云(PublicClouds),“公有”反映了这类云服务并非用户

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号