package action;
import com.opensymphony.xwork2.ActionSupport;
import entity.User;
public class UserAction extends ActionSupport {
private User user = new User();
public String login() {
System.out.println(user.getUserName() + "\n" + user.getPassword());
return "success";
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
package action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;
import entity.User;
@Namespace("/user")
@Results(
{
@Result(name="success",location="/success.jsp"),
@Result(name="fail",location="/fail.jsp")
}
)
public class User2Action extends ActionSupport {
private User user = new User();
public String login() {
System.out.println(user.getUserName() + "\n" + user.getPassword());
return "success";
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant> <!-- 字符编码 -->
<!--<constant name="struts.devMode" value="true"></constant> 开发模式 -->
<!--<constant name="struts.action.extension" value="action"></constant> Action后缀 -->
<!--<include file=""></include> 配置文件 -->
<!--<bean class=""></bean> 配置Bean -->
<package name="user" namespace="/user" extends="struts-default">
<!--<interceptors> --><!-- 拦截器配置 -->
<!--<interceptor name="" class=""></interceptor> 配置拦截器 -->
<!--</interceptors>
--><!--<global-results> 全局resulst -->
<!--<result name=""></result> 配置result -->
<!--</global-results>
--><!--<global-exception-mappings> 全局异常 -->
<!--<exception-mapping result="" exception=""></exception-mapping> 配置异常 -->
<!--</global-exception-mappings>
--><action name="userAction" class="action.UserAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="user/userAction!login" method="post">
<input type="text" name="user.userName" /><br/>
<input type="password" name="user.password"><br/>
<input type="submit" value="登录" />
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'success.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
${user.userName }登录成功...
</body>
</html>
分享到:
相关推荐
这个"struts2_001.7z"压缩包文件很可能是为了帮助初学者或者开发者快速了解并实践Struts2框架而创建的一个小型示例项目。 首先,让我们了解一下Struts2框架的核心特性: 1. **Action类**:它是处理用户请求的核心...
在这个"Struts2_SimpleDataValiation_001_javee_"项目中,我们将探讨一个基础的用户登录验证系统,该系统利用了Struts2框架的数据验证功能。 首先,我们要理解的是Struts2的核心概念。它基于拦截器模型,允许开发者...
5、作者对不同的struts2漏洞测试语句做了大量修改,执行命令、上传功能已经能通用。 6、支持HTTPS。 7、支持GET、POST、UPLOAD三种请求方法,您可以自由选择。(UPLOAD为Multi-Part方式提交) 8、部分漏洞测试支持...
这个"struts2之配置实用案例struts001"很可能是针对初学者或者开发者提供的一份实践教程,旨在帮助他们理解和掌握Struts2的基本配置和用法。 在Struts2框架中,配置是至关重要的部分,它决定了应用程序的行为和流程...
轻量级Java_EE企业应用实战_Struts_2+Spring_3+Hibernate整合开发_第3版_mk.zip.001
【】兄弟连_马剑威_001_回顾MVC模式之查询Pet列表 【】兄弟连_马剑威_002_HelloStruts2入门 【】兄弟连_马剑威_003_Struts2_Action(1) 【】兄弟连_马剑威_003_Struts2_Actio 资源太大,传百度网盘了,...
这可能包括将Struts的库文件添加到项目的类路径、配置web.xml以注册Struts2的核心Servlet、以及创建和配置Action类和结果视图。同时,开发者可以研究示例应用,了解Struts2的MVC模式是如何工作的,以及如何编写...
本文将详细分析Struts2中的一个重要安全漏洞,即S2-001漏洞,以及其影响、原理、修复措施,并提供相关的POC(Proof of Concept)代码。 **漏洞介绍** S2-001漏洞出现在Struts2框架的2.0.0至2.0.8版本中。这个漏洞...
在"struts_demo001"这个项目中,可能包含了Struts2的Action类、配置文件(struts.xml),Spring的配置文件(applicationContext.xml)、Bean定义以及事务管理配置,还有iBatis的相关配置(sqlMapConfig.xml)、...
01介绍struts2及struts2开发环境的搭建.zip.001 由于上传限制分2部分上传
- FilterDispatcher(在Struts2中被StrutsPrepareAndExecuteFilter取代):Struts的核心过滤器,负责拦截HTTP请求并分发到相应的Action。 接下来,我们来看看Hibernate,它是一个对象关系映射(ORM)框架,用于...
Struts 2练习源码 第一天001Struts 2练习源码 第一天001Struts 2练习源码 第一天001Struts 2练习源码 第一天001Struts 2练习源码 第一天001Struts 2练习源码 第一天001Struts 2练习源码 第一天001Struts 2练习源码 ...
目前两种模式scan和exec支持:struts2-001struts2-005struts2-007struts2-008struts2-009struts2-012struts2-013struts2-015struts2-016struts2-045struts2-046struts2-048struts2-053struts2-057开发目的1、适用于...
关于"Struts001"这个文件,可能包含了Struts2的示例代码、配置文件或者其他相关资源。这些资源可以帮助初学者更好地理解Struts2的使用方法,例如Action的定义、结果类型配置、拦截器的编写等。 总的来说,学习...
虽然Struts2强大,但历史上也曾出现过一些安全漏洞,如S2-001到S2-055等,开发者在使用时需要注意安全更新,避免风险。 以上是关于Struts2框架的一些关键知识点,对于Java EE开发者来说,理解和掌握这些概念有助于...
Struts2-RCE 一个Burp Extender,用于检查struts 2 RCE漏洞。描述此burp扩展有助于识别struts2 Web应用程序中的Struts2远程代码执行漏洞。 此Burp扩展程序检测以下18个RCE,它们是S2-001 S2-007 S2-008 S2-012 S2-...
Struts2是Java Web开发中一个非常重要的框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了一种结构化、可扩展且易于维护的开发方式。本教程将深入讲解Struts2的基础知识,以及MVC模式在实际开发中...
【标题】"liferay+struts2 demo" 涉及到的是两个核心的技术:Liferay门户框架和Struts2 MVC框架的集成应用。Liferay是一个开源的企业级门户平台,常用于构建企业内部或外部的协作和信息共享系统。而Struts2是一个...