一个简单的struts2项目
1.新建一个 Dynamic Web Project 项目


2.配置 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>
<!-- 开启开发者模式-->
<constant name="struts.devMode" value="true"></constant>
<!--pakage标签
作用:给访问的action进行分包管理,吧配置文件按照面向对象管理
属性:name:指定包的名称,必须写,必须唯一
extends:指定当前包的父包,子包自动具备父包所指定的配置,我们的包一般都需要继承struts-default
-->
<package name="p1" extends="struts-default">
<action name="hello" class="com.action.HelloAction" method="getHello">
<result name="sucess" >/sucess.jsp</result>
</action>
<action name="hello2" class="com.action.HelloAction2" method="execute" >
<result name="success" >/sucess.jsp</result>
</action>
</package>
<!-- action的三种形式-->
<!-- <package name="user" extends="struts-default">
<action name="addUser" class="com.action.UserAction" method="addUser">
<result name="success">/sucess.jsp</result>
</action>
<action name="updateUser" class="com.action.UserAction" method="updateUser">
<result name="success">/sucess.jsp</result>
</action>
<action name="deleteUser" class="com.action.UserAction" method="deleteUser">
<result name="success">/sucess.jsp</result>
</action>
<action name="findUser" class="com.action.UserAction" method="findUser">
<result name="success">/sucess.jsp</result>
</action>
</package> -->
<!-- 使用通配符-->
<!-- <package name="user" extends="struts-default">
<action name="*" class="com.action.UserAction" method="{1}">
<result name="success">/sucess.jsp</result>
</action>
</package> -->
<!-- 开启动态调用-->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<!-- -->
<package name="user" extends="struts-default">
<action name="user" class="com.action.UserAction" >
<result name="success">/sucess.jsp</result>
</action>
</package>
</struts>
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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>textstrutsAction</display-name>
<!-- struts2 过滤器核心配置-->
<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>
jsp文件=================
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title>这是一个struts2</title>
</head>
<body>
<%-- <a href="${pageContext.request.contextPath}/addUser">添加</a>
<hr/>
<a href="${pageContext.request.contextPath}/updateUser">修改</a>
<hr/>
<a href="${pageContext.request.contextPath}/deleteUser">删除</a>
<hr/>
<a href="${pageContext.request.contextPath}/findUser">查找</a> --%>
<a href="${pageContext.request.contextPath}/user!addUser">添加</a>
<hr/>
<a href="${pageContext.request.contextPath}/user!updateUser">修改</a>
<hr/>
<a href="${pageContext.request.contextPath}/user!deleteUser">删除</a>
<hr/>
<a href="${pageContext.request.contextPath}/user!findUser">查找</a>
</body>
</html>
sucess.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>
执行成功
</body>
</html>
3.action类
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
public String addUser() {
System.out.println("11111");
return "success";
}
public String updateUser() {
System.out.println("22222");
return "success";
}
public String deleteUser() {
System.out.println("3333333333");
return "success";
}
public String findUser() {
System.out.println("4444444");
return "success";
}
一个简单的struts2项目的更多相关文章
- 如何创建一个简单的struts2程序
如何创建一个简单的Struts2程序 “计应134(实验班) 凌豪” 1.创建一个新的Web项目test(File->new->Web Project) 2.Struts2框架的核心配置文 ...
- 一个简单的JUnit项目
本人一直很喜欢JAVA,可是真正接触到JUnit也不过半年.由于公司进行网页测试,采用的是 JUnit+selenium的方式搭建的测试框架,然后采用JAVA语言编写,所以本人也好好研究了一下JUni ...
- 搭建Vue.js环境,建立一个简单的Vue项目
基于vue-cli快速构建 Vue是近年来比较火的一个前端框架,所以搭建Vue.js环境,要装webpack,vue-cli,Vue 安装webpack命令如下 $ cnpm install webp ...
- 通过myclipse建立一个简单的Hibernate项目(PS:在单元测试中实现数据的向表的插入)
Hibernate的主要功能及用法: Ⅰ.Hibernate封装了JDBC,使Java程序员能够以面向对象的思想对数据库进行操作 Ⅱ.Hibernate可以应用于EJB的J2EE架构,完成数据的持久化 ...
- Django入门第一步:构建一个简单的Django项目
Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...
- 用 Eclipse 创建一个简单的web项目
Eclipse neon 汉化版 ; 1;右击新建 --> 选择 动态Web项目 2: 填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomca ...
- 使用一个Python脚本来运行一个简单的Django项目
创建视图 Django是一个模型-模板-视图(model-template-view,MTV)框架. 视图部分通常检查看HTTP给出的请求和查询或者结构,这些信息是发送到表示层的数据. 我们在 hel ...
- JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...
- 一个简单的nodejs项目(cat-names)分析
https://github.com/sindresorhus/cat-names 一个非常简单的nodejs项目,用来方便的获取猫猫的名字: 安装: npm install --save cat-n ...
随机推荐
- .net core3.1开始页面实时编译
安装NuGet包 Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation startup.cs 中的ConfigureSe ...
- KNN 算法-实战篇-如何识别手写数字
公号:码农充电站pro 主页:https://codeshellme.github.io 上篇文章介绍了KNN 算法的原理,今天来介绍如何使用KNN 算法识别手写数字? 1,手写数字数据集 手写数字数 ...
- moviepy音视频剪辑基类VideoClip的write_videofile方法codec、bitrate、preset、audio_bitrate、audio_nbytes等参数的作用
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类write_videofile方法用于将视频剪辑输出到文件,调用语法如下: write_videofile(self ...
- Python+Qt学习随笔:PyQt图形界面应用的事件处理流程
图形界面的事件处理是界面操作的核心,经过编写测试程序验证,基本确认PyQt图形界面应用程序的事件处理流程如下: 1.操作系统或其他应用发送消息给应用主程序: 2.应用主程序调用notify将消息队列中 ...
- js 转换为字符串方法
要把一个值转换为一个字符串有两种方法:toString()方法和转型函数String(). toString()方法 数值.布尔值.对象.字符串值(每个字符串都有一个toString()方法,该方法返 ...
- Panda交易所获悉,五地股权市场获批参与「区块链建设试点」
Panda交易所获悉,北京市地方金融监督管理局官网于7月21日发布信息显示,"证监会发布<关于原则同意北京.上海.江苏.浙江.深圳等5家区域性股权市场开展区块链建设工作的函>,原 ...
- AcWing 404. 婚礼
大型补档计划 题目链接 根据题意,显然只有新郎这边可能存在矛盾,考虑这边怎么放即可,新娘那边的放法与这边正好相反且一一对应. 显然对于两个约束条件是一对矛盾,开始我以为可以用并查集,后来发现输出方案的 ...
- GYM100526I Interesting Integers
题目大意 定义一种 \(Gabonacci\) 数列: \[\begin{array}{c} G_1=a\\ G_2=b\\ G_i=G_{i-1}+G_{i-2} \end{array} \] 给定 ...
- 【APIO2020】交换城市(Kruskal重构树)
Description 给定一个 \(n\) 个点,\(m\) 条边的无向连通图,边带权. \(q\) 次询问,每次询问两个点 \(x, y\),求两点间的次小瓶颈路.不存在输出 -1. Hint \ ...
- 36个JS特效教程,学完即精通
6个JS特效教程,学完即精通 JavaScript特效教程,学完你就能写任何特效.本课程将JavaScript.BOM.DOM.jQuery和Ajax课程中的各种网页特效提取出了再进行汇总.内容涵 ...