1.在Struts配置文件的<package   中的 namespace默认是namesopace="/".

当生成namespace=“abc/”(abc是自己定义的,类似于html里的css样式中的class)那么在index.jsp测试跳转的<a  href ="abc/test01.action"></a>

  注意:.action后缀,在没有更改默认的情况下,可以不写,默认就是.action。

   这时候就必须在前面加abc/   解释:也就是当action在处理请求的时候是寻找abc/下的test01.action,然后执行系一部的转发跳转操作。

  在Struts.xml 配置文件的<action   中的 name=“test01”前面可以不加abc/。

2.修改默认值

要在<struts>标签下加<constant></constant>.   constant里面name="struts.action.extension"是默认值,不可以改,value=""可以更改(指更改默认后缀.action)

解释:上图中的valu=“do,action,,”只的是后缀可以说.do或.action或者是什么都不加的

3.result

result中的name=“success”是默认返回值,类型是String型

4.action 中的class指的是com.hanqi.action包下的TestAction类,method="test"指的是类中的test方法

具体代码如下:

 

  

<%@ 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>
首页
<br><br> <a href="abc/test01.do">测试页面01</a> <br><br>
<a href="test02.action">测试页面02</a> </body>
</html>

  

<%@ 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>
测试页面01 </body>
</html>

  

<%@ 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>
登录页
<br><br>
<form action="Login.action" method="post"> 用户名:<input type="text" name="username" />
<br><br>
密码:<input type="password" name="password" />
<input type="submit" value="登录">
</form>
</body>
</html>

  

<?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.action.extension" value="do,action,,"></constant> <!-- package对功能模块进行分组管理 -->
<package name="index" extends="struts-default"
namespace="/"> <!-- action 处理的请求 --> <!-- action 处理的默认请求 -->
<action name="test01" class="com.opensymphony.xwork2.ActionSupport"
method="execute">
<result name="success">/WEB-INF/pages/test01.jsp</result>
</action> <action name="test02" class="com.hanqi.action.TestAction"
method="test">
<result name="ok" >/WEB-INF/pages/test02.jsp</result>
<result name="notok">/WEB-INF/pages/error.jsp</result> </action>
<!-- 登入 -->
<action name="Login" class="com.hanqi.action.TestAction"
method="login">
<result>/WEB-INF/pages/Main.jsp</result>
<result name="fail" >/WEB-INF/pages/error.jsp</result>
</action> </package> </struts>

  

package com.hanqi.action;
//自定义的Action 类
public class TestAction { //Action 方法
public String test()
{
int i=1;
if(i==1)
{
return "ok";
}
else
{
return "notok";
}
} //验证登录的方法
public String login ()
{
String rtn ="fail";//定义返回值,<result name="fail">
//验证登录
System.out.println("username="+username+ " password="+password); if(username!=null&&password!=null
&&username.equals("admin")&&password.equals("123456"))
{
rtn="success";
}
return rtn;
} private String username;
private String password; public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} }

  

Struts2整理+课堂代码+注意事项的更多相关文章

  1. struts2最新s2-016代码执行漏洞CVE-2013-2251

    这是一个代码执行漏洞,利用java代码来执行系统命令.   影响版本:Struts 2.0.0 – Struts 2.3.15   漏洞说明: The Struts 2 DefaultActionMa ...

  2. struts2更新版本操作有关事项备注

    struts2更新版本操作有关事项备注, 更新主要jar包:struts2-convention-plugin-version,struts2-core-version, struts2-spring ...

  3. WPF代码注意事项,开发常见问题,知识总结

    代码注意事项: 1.代码实现的样式赋值 XXX.Style = TryFindResource("StyleName") as Style; 2.WPF中FindName方法的使用 ...

  4. Android——数据存储(课堂代码整理:SharedPreferences存储和手机内部文件存储)

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  5. ActiveMQ的学习整理(代码实现PTP,以及Pub/Sub)

    (一)由于在实习过程中需要用到ActiveMQ,在网上看了很多文章,现在整理出来以防忘记. (二)这篇文章比较适合之前没有接触过的同学,在看下面文章的过程中,建议先学习参考链接中的知识点,然后自己再参 ...

  6. Android 写模块化代码注意事项

    模块化代码方便抽离注意事项 1. 访问控制符使用 多使用protect,包内访问控制,final关键字 2.  工具类最好不要相互引用,需要相互引用的地方考虑写到一个类里面 3.   Activity ...

  7. s2-029 Struts2 标签远程代码执行分析(含POC)

    1.标签介绍 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件 ...

  8. 漏洞预警 | Apache Struts2 曝任意代码执行漏洞 (S2-045)

    近日,Apache官方发布Apache Struts 2.3.5–2.3.31版本及2.5–2.5.10版本存在远程代码执行漏洞(CNNVD-201703-152 ,CVE-2017-5638)的紧急 ...

  9. Struts2配置文件复用代码【web.xml、struts.xml、常量配置】

    web.xml的分发器代码: <!-- 引入struts核心过滤器 --> <filter> <filter-name>struts2</filter-nam ...

随机推荐

  1. 真机测试INSTALL_FAILED_INSUFFICIENT_STORAGE 的解决方法

    来源:http://blog.csdn.net/aikongmeng/article/details/9793809 INSTALL_FAILED_INSUFFICIENT_STORAGE 的解决方法 ...

  2. loj 1412(树上最长直径的应用)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1412 思路:好久没写题解了,有点手生,这题从昨天晚上wa到现在终于是过了...思想其实 ...

  3. 【SQL 触发器】

    一.MySQL上触发器的使用 示例: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW t ...

  4. 从两个平方算法到分治算法-java

    先来看看问题的来源,假设有这么一个数组: 1 2 -5 4 -2 3 -3 4 -15 我们要求出其中连续字数组的和的最大值 例如这么可以很明显看出 4+ –2 + 3 + –3 + 4 = 6 所有 ...

  5. ViewPager的广告条轮播

    首先布局 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:androi ...

  6. Nginx日志定时切割脚本

    nginx的日志文件如果你不处理,将变得越来越大,我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志.在你未重新打开 ...

  7. express-21 静态内容

    静态内容是指应用程序不会基于每个请求而去改变的资源. 多媒体: 图片.视频和音频文件 CSS: JavaScript 二进制下载文件: 这包含所有种类:PDF.压缩文件.安装文件等类似的东西. 借助一 ...

  8. Windows64 系统下Python、NumPy与matplotlib 安装方法

    今下午想用Python跑RNN网络,结果代码在导入包numpy时并没有报错,但是在用里面的函数时报错,因小编也是新手,只学习了Python的基础语法,并没有使用过第三方包,安装了一下午还没弄好,本以为 ...

  9. 20145223《Java程序设计》实验报告3

    20145223 实验三<敏捷开发与XP实践> 实验内容 使用git上传代码 使用git相互更改代码 实验步骤: 一.使用git上传代码 $ git push 1.找到需要push的文件所 ...

  10. Android App 性能优化实践

    本文记录了Android App优化需要用到的工具和以及在实践中的Tips.也算对我这半年来部分工作的总结. 工具 Hierarchy Viewer 是 Android SDK 自带的 Layout ...