struts2框架(1)---struts2入门
struts2框架
如果你之前在MVC模式的时候一直都是通过servlet,获取和返回数据,那么现在开始学习struts2框架,
Struts是一个实现MVC设计模式的优秀的框架。它的许多优点我就不说了。
我用自己做的一张图说明servlet和struts2的区别。

写一个最基本的开发步骤,完成开发。
(1)创建WEB 工程
(2)导入必要jar包
(3) 编写JSP 页面
(4)编写Action 服务器端处理逻辑
(5)进行框架配置web.xml、struts.xml
(6)运行测试
(1)创建WEB 工程
这步还是很正常一样,创建一个普通web工程。如图:

(2)导入必要jar包
首先我要告诉你到哪里去下载这个框架:在apache官网,你百度struts2下载就可以找到了。

Struts运行必要jar包介绍:

开发中为了方便导入,可以使用app/struts2-blank.war 携带jar包
(3) 编写JSP 页面
在webRoot下新建一个Demo文件,网页先访问start.jsp之后通过框架返回到result页面

start.jsp界面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
<h1>请求发起的页面</h1>
<!-- 发起一个请求 访问Struts2框架 -->
<!-- Struts2请求 默认是以.action结尾 -->
<a href="${pageContext.request.contextPath }/hello.action">访问Struts2入门程序</a>
</body>
</html>
result.jsp界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
<h1>处理完成的结果页面</h1>
</body>
</html>
(4)编写Action 服务器端处理逻辑
这里就是通过java创建一个类,该类可以说是action最普通的一个类
package com.yudian.struts;
public class HelloAction {
public String execute() throws Exception{ //这里取execute代表默认执行这个方法
System.out.println("我是执行的内容...");
return "excutesuccess"; //有返回值,我们用来跳转页面
}
}
(5)进行框架配置web.xml、struts.xml
配置文件才是核心关键,先配置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">
<display-name></display-name>
<!-- 配置Struts2的前端控制器 --><!--filter-class里面很关键,固定 -->
<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> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
在配置struts.xml,注意了这个是放在src下面而不是包下面
<?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="default" extends="struts-default">
<!-- 3.默认Action 和Action的默认处理类 -->
<!-- 1.初步认识Struts2 --><!-- 这里hello一定要和jsp中hello。action一致才能找到 -->
<action name="hello" class="com.yudian.struts.HelloAction">
<result name="excutesuccess">/demo/result.jsp</result>
</action> <!-- result代表如果返回值为 excutesuccess则跳转页面-->
</package>
</struts>
(6)运行测试
先通过浏览器访问start界面:

当点击:访问Struts2入门程序连接直接跳转到了result.jsp
运行结果:

这上面是一个最基本的struts框架的运用,很简单,主要是供大家理解,关于每一个细节我会在接下面慢慢补充.
欢迎大家的留言给出指点意见,谢谢!
struts2框架(1)---struts2入门的更多相关文章
- Struts2框架(8)---Struts2的输入校验
Struts2的输入校验 在我们项目实际开发中在数据校验时,分为两种,一种是前端校验,一种是服务器校验: 客户端校验:主要是通过jsp写js脚本,它的优点很明显,就是输入错误的话提醒比较及时,能够减轻 ...
- Struts2框架之-Struts2的标签
Struts2包含哪些标签? 解答: A: <s:a href=”"></s:a>—–超链接,类似于html里的<a></a> <s:a ...
- Struts2框架07 Struts2 + Spring + Mybatis 整合
1 导包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...
- Struts2框架学习(一)
Struts2框架学习(一) 1,Struts2框架介绍 Struts2框架是MVC流程框架,适合分层开发.框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计. 2 ...
- struts2框架
详细教程 参考struts教程https://www.w3cschool.cn/struts_2/struts_configuration.html Struts2 基于MVC设计模式的web应用程序 ...
- 经典MVC框架技术-struts2基础知识
Struts2框架简介 struts2框架是在struts1和webwork技术的基础上,进行合并的全新框架,struts2以Webwork为核心,采用拦截器来处理用户的请求,这样的设计使得业务逻辑控 ...
- Struts2笔记02——Struts2 概述(转)
原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm Struts2是基于MVC设计模式的一种流行.成熟的We ...
- struts2框架快速入门小案例
struts2快速入门: index.jsp------>HelloAction--------->hello.jsp struts2流程 1.导入jar包 struts2的目录结构: a ...
- Struts2框架入门
1.1 Struts2概述: 是一个遵循WEB层规范的MVC设实现,该框架基本上借鉴了WebWork框架的体系结构,只吸收了少部分Struts1的优点.是目前JAVA EE项目中WEB层事实上的工业标 ...
随机推荐
- python3 利用pip命令安装包和模块
本文介绍如何利用pip命令安装Python相关的包和模块.在Python中有些方法或者模块是自带的功能,也叫(build-in),内构函数,实际使用,可能内构函数或者模块不能完成我们的任务,我们就需要 ...
- Java面试题之Redis
1.redis数据结构有哪些? string,list,hash,set,zset 2.redis为什么是单线程的? redis是基于内存的操作,cpu不是redis的瓶颈,内存大小或网络带宽才是: ...
- Python 设计模式之路
备注:本套笔记内容来源于互联网,只做学习使用,如有侵权请联系本笔记作者. 资料内容 Python 设计模式之路(一)——设计模式 初识 Python 设计模式之路(二)——简单工厂.工厂.抽象工厂模式 ...
- CentOS 7 rpm安装jdk
RPM 安装jdk1.8.0_111 ,查询系统自带的jdk rpm -qa | grep java 查询结果如下: [root@bogon ~]# rpm -qa | grep java javap ...
- js基础知识:字面量 关键字和保留字
js中的字面量概念我的理解就是:字体表面的常量 如:数字 100, 字符串 "ssss"或'ssss' 布尔值:false ,正则 以及null对象. 这些都是常量. 关键字: ...
- RSA 前段加密 java 后台解密 已调试通过
本人整理网上的.好多网上的调不通.在这里把调试好的贴出来. 1. 异步获取公钥(后台获取):你也可以将公钥串写在页面上: var publicKey = null; $.ajax({ url: c ...
- echarts 调整图表 位置 的方法
###内部图表大小是与div容器大小位置相关的,如果想调整图表大小位置,调整div的属性就可以了### ###如果是想调整图表与div间上下左右留白,则设置grid属性就可以了### 如图所示: 具体 ...
- Python序列结构--字典
字典:反映对应关系的映射类型 字典(dict)是包含若干“键:值”元素的无序可变序列 字典中元素的“键”可以是python中任意不可变数据,例如整数.实数.复数.字符串.元组等类型可哈希数据,“键”不 ...
- vmware workstations下安装CentOS7
vm虚拟机上安装CentOS7参考博文: https://www.cnblogs.com/wcwen1990/p/7630545.html 最小化安装后,没有ifconfig等命令的解决方法参考博文: ...
- uintAPi 之Renderer.material
Renderer.material public Material material; Returns the first instantiated Material assigned to the ...