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. java-xml格式化

    参考:http://www.oschina.net/code/snippet_17793_4733 package com.ddatsh;   import java.io.IOException; ...

  2. Boost练习程序(multi_index_container)

    代码来自:http://blog.csdn.net/whuqin/article/details/8482547 该容器能实现多列索引,挺好. #include <string> #inc ...

  3. 【rqnoj39】 饮食问题

    题目描述 Bessie 正在减肥,所以她规定每天不能吃超过 C (10 <= C <= 35,000)卡路里的食物.农民 John 在戏弄她,在她面前放了B (1 <= B < ...

  4. windows下mongodb安装与使用整理

    一.首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mongodb ...

  5. POJ 1743 后缀数组

    题目链接:http://poj.org/problem?id=1743 题意:给定一个钢琴的音普序列[值的范围是(1~88)],现在要求找到一个子序列满足 1,长度至少为5 2,序列可以转调,即存在两 ...

  6. 什么是智能扫描开单打印进销存POS?安卓工业手持PDA设备上的POS销售开单,现场打印打票,用扫描枪太方便了

    安卓PDA版POS销售开单如果和扫描枪配合使用,和超市的POS销售一样的操作 什么是智能扫描开单打印进销存POS? 互联网特性,让它在数据统计分析.客户关系管理等方面表现出众.智能POS,不仅是一个收 ...

  7. zoj 3795 Grouping tarjan缩点 + DGA上的最长路

    Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Practic ...

  8. 获取iframe的元素并进行操作

    获取iframe中的document元素有一下集中方法: 1.getElementById()方法和contentWindow属性: window.onload=function(){ /*必须等待页 ...

  9. ccc 函数中写函数

    attackOnTarget: function (atkDir, targetPos) { var self = this; let deg = cc.radiansToDegrees(cc.pAn ...

  10. BZOJ4568 : [Scoi2016]幸运数字

    树的点分治,每次求出重心后,求出重心到每个点路径上的数的线性基. 对于每个询问,只需要暴力合并两个线性基即可. 时间复杂度$O(60n\log n+60^2q)$. #include<cstdi ...