Struts2整理+课堂代码+注意事项
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整理+课堂代码+注意事项的更多相关文章
- struts2最新s2-016代码执行漏洞CVE-2013-2251
这是一个代码执行漏洞,利用java代码来执行系统命令. 影响版本:Struts 2.0.0 – Struts 2.3.15 漏洞说明: The Struts 2 DefaultActionMa ...
- struts2更新版本操作有关事项备注
struts2更新版本操作有关事项备注, 更新主要jar包:struts2-convention-plugin-version,struts2-core-version, struts2-spring ...
- WPF代码注意事项,开发常见问题,知识总结
代码注意事项: 1.代码实现的样式赋值 XXX.Style = TryFindResource("StyleName") as Style; 2.WPF中FindName方法的使用 ...
- Android——数据存储(课堂代码整理:SharedPreferences存储和手机内部文件存储)
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- ActiveMQ的学习整理(代码实现PTP,以及Pub/Sub)
(一)由于在实习过程中需要用到ActiveMQ,在网上看了很多文章,现在整理出来以防忘记. (二)这篇文章比较适合之前没有接触过的同学,在看下面文章的过程中,建议先学习参考链接中的知识点,然后自己再参 ...
- Android 写模块化代码注意事项
模块化代码方便抽离注意事项 1. 访问控制符使用 多使用protect,包内访问控制,final关键字 2. 工具类最好不要相互引用,需要相互引用的地方考虑写到一个类里面 3. Activity ...
- s2-029 Struts2 标签远程代码执行分析(含POC)
1.标签介绍 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件 ...
- 漏洞预警 | Apache Struts2 曝任意代码执行漏洞 (S2-045)
近日,Apache官方发布Apache Struts 2.3.5–2.3.31版本及2.5–2.5.10版本存在远程代码执行漏洞(CNNVD-201703-152 ,CVE-2017-5638)的紧急 ...
- Struts2配置文件复用代码【web.xml、struts.xml、常量配置】
web.xml的分发器代码: <!-- 引入struts核心过滤器 --> <filter> <filter-name>struts2</filter-nam ...
随机推荐
- Excel动态合并行、合并列
背景: 在北京工作的时候,又一次同事问了我这样一个问题,说我要把从数据库获取到的数据直接通过NPOI进行导出,但是我对导出的格式要特殊的要求,如图: 冥思苦想,最终顺利帮同事解决问题,虽然有点瑕疵,但 ...
- HDU 4496 D-City (并查集)
题意:有n个城市,m条路,首先m条路都连上,接着输出m行,第i行代表删除前i行的得到的连通块个数 题解:正难则反,我们反向考虑使用并查集添边.首先每个点都没有相连,接着倒着来边添加边计算,当两个点父节 ...
- requireJS的使用_API(1)
之前有介绍过requireJS(模块化开发),可以看看 ,但是不详细,所以今天参考官网来详细介绍一下: 1.加载js文件: RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<scr ...
- SpringJDBC解析3-回调函数(update为例)
PreparedStatementCallback作为一个接口,其中只有一个函数doInPrepatedStatement,这个函数是用于调用通用方法execute的时候无法处理的一些个性化处理方法, ...
- 基于PHP以及Mysql,使用WordPress搭建站点
1.前提环境是PHP以及Mysql以及安装配置完成,Nginx服务启动: 2.配置Mysql的初始密码:mysql安装后,默认root密码是空的,所以要设置密码: mysql -u root mys ...
- jQuery Multi-TouchWipe / Multi-TouchZoom
jQuery Multi-TouchWipe / Multi-TouchZoom是小弟参照WipeTouch扩展出来的针对多点触屏划动而改写出来的Jquery插件,可以为dom上的两手指触屏划动拨入( ...
- POJ2711 Leapin' Lizards(最大流)
比较形象的是地图每个点都拆成三个点,这三个点限制流量为0或1,于是再一分为二,这样每个点都被拆成6个点... 其实拆两个点,连容量为柱子高的边,这样就行了.. 这题我掉坑了,“1 lizard was ...
- WPF 颜色转换
从字符串到画刷: var converter = new System.Windows.Media.BrushConverter(); var brush = (Brush)converter.Con ...
- 【原】iOS多线程之线程间通信和线程互斥
线程间通信 1> 线程间通信分为两种 主线程进入子线程(前面的方法都可以) 子线程回到主线程 2> 返回主线程 3> 代码 这个案例的思路是:当我触摸屏幕时,会在子线程加载图片,然后 ...
- (转)Storm UI 解释
Storm UI link:http://lbxc.iteye.com/category/221265 本文主要解释下storm ui上各项属性的含义. 1. mainpage 首页主要分为3块: a ...