struts2基础---->第一个Struts2程序
学习struts2的第一个程序,这里只会涉及到简单的代码编写。有一个夜晚我烧毁了所有的记忆,从此我的梦就透明了;有一个早晨我扔掉了所有的昨天,从此我的脚步就轻盈了。
Struts的项目
aaarticlea/png;base64,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" alt="" />
一、引入struts2支持的jar包,在web.xml中配置struts2的拦截器。
<?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"
version="3.0">
<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>*.action</url-pattern>
</filter-mapping>
</web-app>
二、定义一个简单的首页index.jsp,用于跳转到struts的Action。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h3><a href="hello.action">Hello World</a></h3>
</body>
</html>
三、定义一个Action,这是struts中处理的最小单元。
package com.huhx.struts;
import com.opensymphony.xwork2.ActionSupport; public class HuhxAction extends ActionSupport {
private static final long serialVersionUID = 1L; @Override
public String execute() throws Exception {
System.out.println("hello world.");
return SUCCESS;
}
}
四、在src下创建的struts.xml中定义acton映射
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="com.huhx.struts.HuhxAction">
<result name="success">/huhx.jsp</result>
</action>
</package>
</struts>
五、定义一个action返回的页面huhx.jsp。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h2>Hello huhx.</h2>
</body>
</html>
友情链接
struts2基础---->第一个Struts2程序的更多相关文章
- struts2讲义----建立一个struts2工程
建立一个Struts2 工程 Ø 1在MyEclipse中新建web工程 Ø 2在struts-2.2.1.1-all\struts-2.2.1.1解压struts2-blank.war( 最基础的示 ...
- 【Struts2】新建一个Struts2工程,初步体验MVC
实现目标 地址栏输入http://localhost:88/Struts2HelloWorld/helloworld.jsp 输入用户名,交由http://localhost:88/Struts2He ...
- Struts2基础学习(八)—Struts2防止表单重复提交
一.原因 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太 慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消 ...
- Duilib学习之基础(一个SDK程序)
版权声明:本文为灿哥哥http://blog.csdn.net/caoshangpa原创文章,转载请标明出处. https://blog.csdn.net/caoshangpa/article/det ...
- 一个struts2程序
1.index.jsp 2.struts.xml 3.Loginaction.java package action; import java.io.File; import java.io.File ...
- 第一个Struts2程序之HelloWorld
1.Struts2 简介 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与St ...
- struts2基础——最简单的一个例子
学习版本:struts-2.3.15.3 一.导入jar包,可以参考 官方项目 blank. 二.添加配置文件:web.xml struts.xml web.xml: <filter> & ...
- 2.第一个Struts2程序-HelloWorld程序
1.新建Web Project项目:Study_Struts2 2.新建HelloWordAction.java类 3.复制struts.xml文件到src目录下,配置struts.xml文件内容如下 ...
- Struts2入门1 Struts2基础知识
Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...
随机推荐
- SQL Server 2008 压缩日志
USE [master]GOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECO ...
- 跟我学TCP/IP系列
最近在微信公众号“java与Android开发专栏”,看到系列文章“跟我学TCP/IP系列”,共7章,文章很赞. 系列文章在CSDN上也有分发,下列出地址以备以后查看(版权问题不转载内容). http ...
- 内核模块module传参
linux 2.6允许用户insmod的时候往内核模块里面传递参数,它主要使用module_param宏定义来实现这一功能. 参数应用 module_param(name, type, perm); ...
- wireshark教程(一)
按照国际惯例,从最基本的说起. 抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包.例如,如果想要在无线网络上抓取流量,点击无线接 ...
- jquery方法操作iframe元素
操作iframe父元素 $("#rolesCtl",parent.document).find( 'button' ).trigger( 'click' ); 在父页面获取ifra ...
- DataTable使用技巧:DataRowState
DataGridView:获取 DataRow 对象的状态,共有5个枚举值. Added 该行已添加到 DataRowCollection 中,AcceptChanges 尚未调用. Deleted ...
- Struts2- 设置默认拦截器
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ...
- C# 关于JArray和JObject封装JSON对象
直入主题,不废话... 1.JObject:基本的json对象 /// <summary> /// Gets the j object. /// </summary> /// ...
- 非常强大的jQuery万能浮动框插件
支持hover, click, focus以及无事件触发:支持多达12种位置的定位,出界自动调整:支持页面元素加载,Ajax加载,下拉列表,提示层效果,tip类效果等:可自定义装载容器:内置UI不错的 ...
- qt 编译的文件没有生效
/******************************************************************* * qt 编译的文件没有生效 * qt交叉编译时,生成的可执行 ...