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_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>struts2InAction</display-name>
  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

  <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>

struts。xml

<?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.3.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
       <action name="login" class="struts2InAction.LoginAction" method="login">
       		<result name="success">/WEB-INF/view/success.jsp</result>
       		<result name="fail">/WEB-INF/view/fail.jsp</result>

       </action>

       <action name="toLogin" class="struts2InAction.ToLoginAction" method="login">

       		<result name="success">/WEB-INF/view/login.jsp</result>

       </action>

    </package>

</struts>

index.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>
<a href="toLogin">登录</a>
<br>

</body>
</html>

login.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>登录</title>
</head>
<body>

<form action="login" method="post">
姓名:<input type="text" name="name"></input>
<br>
<button type="submit">登  录</button>
</form>
</body>
</html>

success.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">
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
</head>
<body>

	<h2>welcome</h2>

	<h3><s:property value="name"/></h3>

</body>
</html>

fail.jap

<%@ 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>登录</title>
</head>
<body>
<h2>fail</h2>

</body>

LoginAction.java

<pre name="code" class="java">package struts2InAction;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	private String name;
	public void setName(String name) {
		this.name = name;
	}

	//必须写,要不然在页面得不到
	public String getName() {
		return name;
	}
	public String login() {

		if("zs".equals(name))
		{

			setName(name);
			System.out.println(">>>>"+name);
			return "success";
		}
		else
		{
			return "fail";
		}

	}
}

ToLoginAction.java

package struts2InAction;

import com.opensymphony.xwork2.ActionSupport;

public class ToLoginAction extends ActionSupport{

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	public String login() {

			return "success";

	}
}

改进:

ToLoginAction.java只做了转发页面的功能,可以删除。

只需把struts.xml改为:

<?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.3.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
       <action name="login" class="struts2InAction.LoginAction" method="login">
       		<result name="success">/WEB-INF/view/success.jsp</result>
       		<result name="fail">/WEB-INF/view/fail.jsp</result>

       </action>

       <action name="toLogin" >

       		<result >/WEB-INF/view/login.jsp</result>

       </action>

    </package>

</struts>
时间: 2024-11-10 05:39:28

Struts2入门实例的相关文章

Eclipse快速上手Hibernate之入门实例

这篇文章主要谈谈Hibernate的入门开发,例子很简单,就是向数据表中添加用户名和密码.我分别使用了三种方法,一种是直接写代码,写Hbm映射文件等:一种是通过Hbm映射文件来生成代码:一种是通过代码来生成Hbm映射文件.使用了一些自动化工具,XMLBuddy是用来编辑XML文件的,JBoss Eclipse IDE是用来编写Doclet标记的.这篇文章还谈到了一些Eclipse的使用技巧,比如建立"用户库"."生成 Getter 和 Setter"等. 关于一些软

Python基于Tkinter的HelloWorld入门实例

  本文实例讲述了Python基于Tkinter的HelloWorld入门实例.分享给大家供大家参考.具体分析如下: 初学Python,打算做几个Tkinter的应用来提高. 刚学的HelloWorld,秀一下.我用Python3.2的,Windows版本的. 源代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 #导入sys和tkinter模块 import sys, tkinter #创建主窗口 root = tkinter.Tk() root.title("HelloWo

基于php的微信公众平台开发入门实例_php实例

本文实例讲述了基于php的微信公众平台开发方法.分享给大家供大家参考.具体如下: 最近在做微信公众平台开发,一口气写了二十几个功能,挺有意思的- 今天来分享一下开发经验~ 微信公众平台提供的接口很简单,先看看消息交互流程: 说的通俗一些,用户使用微信发送消息 -> 微信将数据发送给开发者 -> 开发者处理消息并返回数据至微信 -> 微信把返回数据发送给用户,期间数据交互通过XML完成,就这么简单.   下面写个实例,开发微信智能聊天机器人:  1. 注册微信公众平台账号 微信公众平台:

flash 加载xml入门实例教程

flash 加载xml入门实例教程 在这篇文章中我们将使用一个xml文件,该文件描述了一个照相馆.的xml存储照片的标题和图像文件的位置 <?xml version="1.0"?> <gallery name="photo gallery"> <image name="picture_1" location="www.111cn.net/photo1.jpg" /> <image na

jquery实战第一讲---概述及其入门实例

       就在5月28号周四下午五点的时候,接到xxx姐姐的电话,您是xxx吗?准备一下,周五上午八点半去远洋面试,一路风尘仆仆,颠颠簸簸,由于小编晕车,带着晕晕乎乎的脑子,小编就稀里糊涂的去面试了,温馨提醒,晕车的小伙伴家中常备晕车药,关于远洋面试的一些总结,小编会后续在博客中贴出,希望对有需要的小伙伴一些帮助,通过面试发现面试官大量的提问jquery的相关知识,那时年少,学习jquery的时候,想起来就是一把辛酸泪,于是,小编励志再把JQuery的相关知识复习一遍,把相关的知识点总结到博

《HFSS电磁仿真设计从入门到精通》一第2章 入门实例——T形波导的内场分析和优化设计

第2章 入门实例--T形波导的内场分析和优化设计 HFSS电磁仿真设计从入门到精通 通过第1章的简单介绍,大家对HFSS是什么.HFSS能做什么已经有了一个最基本的认识.那么,本章就通过一个简单的HFSS工程设计分析实例,让初学者对HFSS的工作界面.操作步骤以及工作流程有一个整体的.直观的认知. 本章的目的在于向读者展示一下HFSS的完整设计流程,让初学者对HFSS仿真设计有个整体概念和直观的印象,所以读者在学习本章时,可以抱着"不求甚解"的态度,按照书本上的操作步骤,一步一步按部就

《Hack与HHVM权威指南》——第2章 泛型2.1 入门实例

本节书摘来自华章出版社<Hack与HHVM权威指南>一书中的第2章,第2.1节,作者 Owen Yamauchi,更多章节内容可以访问"华章计算机"公众号查看. 第2章 泛型 泛型在Hack的类型系统里面是个非常强大的特性,泛型可以允许你在不知道流程中传入的具体类型的情况下,写出类型安全的代码.一个类或者函数都可以是泛型的,这意味着它可以让调用者来选择传入的参数类型. 泛型结构体最好的例子就是数组和集合类(关于集合类的更多内容请参见第5章).不具备明确指出数组内容具体类型的

node.js入门实例helloworld详解_node.js

本文实例讲述了node.js入门实例helloworld.分享给大家供大家参考,具体如下: 将下面的代码保存为:server.js存到E盘下面的node目录中. var http = require('http'); function myNode(request, response){ response.writeHead(200, {'Content-type':'text/plain'}); response.write('hello world'); //hello world resp

Vue.js快速入门实例教程_javascript技巧

什么是vue vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API. 一.基本结构 index.html代码: <script src="../vue.js"></script> <div id="app"> {{ message }} </div> <script src="app.js"></script> <