- 浏览: 493650 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (191)
- Android学习 (3)
- jsp/servlet (2)
- java学习 (44)
- 数据库 (28)
- GWT开发学习 (8)
- 开发中问题 (15)
- JavaScript (48)
- 正则表达式 (1)
- svn配置 (1)
- C# (5)
- SSH (8)
- 找工作面试用 (5)
- DWR开发学习 (0)
- CSS学习 (4)
- AJAX学习 (1)
- Swing (1)
- Json (3)
- Jquery (4)
- Java 网络编程 (1)
- 管理相关 (2)
- Weblogic (1)
- 开发模式 (1)
- web前端 (6)
- 响应式设计 (1)
- Angular (5)
- 其它 (1)
- LESS (1)
- AngularJS (1)
- 负载并发、性能 (4)
- 数据结构与算法 (1)
最新评论
-
世界尽头没有你:
Java并发编程与高并发解决方案网盘地址:https://pa ...
java处理高并发高负载类网站的优化方法 -
叮咚可乐名:
Java并发编程与高并发解决方案网盘地址:https://pa ...
java处理高并发高负载类网站的优化方法 -
叮咚可乐名:
Java并发编程和高并发解决方案视频课程网盘地址:https: ...
java处理高并发高负载类网站的优化方法 -
putonyuer:
如果不是转载 , 要点总结的非常好 , 牛逼。
生产者消费者模式浅析 -
daxun1983:
爱得发疯
java判断是否为汉字和是否有汉字的方法
现在开始加入公司的核心项目,但由于项目开发比较早,所以使用的技术不是很新潮,前台用的还是 struts1 。
虽然不是什么新技术,但仍可以从中学到好多东西的。花了一个晚上的时间终于把 struts1 的流程跑通了。
省略了创建过程及加入 jar 包的过程,直接进入正题。
首页要在 web.xml 中添加相应的 struts 配置:
<
servlet
>
<
servlet-name
>
action
</
servlet-name
>
<
servlet-class
>
org.apache.struts.action.ActionServlet
</
servlet-class
>
<
init-param
>
<
param-name
>
config
</
param-name
>
<
param-value
>
/WEB-INF/struts-config.xml
</
param-value
>
</
init-param
>
<
init-param
>
<
param-name
>
debug
</
param-name
>
<
param-value
>
2
</
param-value
>
</
init-param
>
<
init-param
>
<
param-name
>
detail
</
param-name
>
<
param-value
>
2
</
param-value
>
</
init-param
>
<
load-on-startup
>
2
</
load-on-startup
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
action
</
servlet-name
>
<
url-pattern
>
*.do
</
url-pattern
>
</
servlet-mapping
>
然后在 config 所对应的目录下添加 struts 配置文件 struts-config.xml
<?
xml version="1.0"
encoding="UTF-8"
?>
<!
DOCTYPE struts-config PUBLIC
"-//Apache Software
Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"
>
<
struts-config
>
<!-- ActionForm
-->
<
form-beans
>
<!-- name:
名称
type:
类路径
-->
<
form-bean
name
="loginForm"
type
="com.login.LoginForm">
</
form-bean
>
</
form-beans
>
<!--
设置全局
URL
,必须写在
Action
前面,这样任何
Action
都可以使用
-->
<
global-forwards
>
<
forward
name
="result"
path
="/result.jsp"
/>
</
global-forwards
>
<!--
注册
Action -->
<
action-mappings
>
<!-- name
:名称
type
:类路径
path
:客户端(
JSP
)提交到服务器端时指定的路径(
Form
表单中的
action=”/login.do" -->
<
action
path
="/login"
type
="com.login.LoginAction"
name
="loginForm"
scope
="request">
<!--
局部
URL
,只有这个
action
可以使用
-->
<
forward
name
="success"
path
="/success.jsp"></
forward
>
<
forward
name
="error"
path
="/error.jsp"></
forward
>
</
action
>
<action type="com.shiyou.tiles.test.action.TestAction" scope="request" path="/TestAction" name="loginForm" parameter="cmd">
<forward name="sucess" path="/index1.jsp" />
</action>
</
action-mappings
>
</
struts-config
>
注:Action 和Form 的关系是一个Action 只能对应一个Form (通过Action 的name 属性)
而一个Form 可以被多个Action 调用
LoginAction.java
package
com.login;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
org.apache.struts.action.Action;
import
org.apache.struts.action.ActionForm;
import
org.apache.struts.action.ActionForward;
import
org.apache.struts.action.ActionMapping;
public
class
LoginAction
extends
Action (DispatchAction)
{
@Override
public
ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws
Exception {
LoginForm lf = (LoginForm) form;
String username =
lf.getUsername();
String password = lf.getPassword();
String errorInfo = "";
String result =
UserManager.getInstance().login(username, password);
if
(result.equals("success")) {
request.setAttribute("username", username);
return
mapping.findForward("success");
}
else
if
(result.equals("username")) {
errorInfo = "
密码错误
";
}
else
{
errorInfo = "
用户名错误
";
}
request.setAttribute("errorInfo", errorInfo);
return
mapping.findForward("error");
}
public ActionForward testStrutsAction(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
TestForm tf = (TestForm) form;
String username = tf.getUsername();
System.out.println("username====" + username);
return mapping.findForward("sucess");
}
}
LoginForm.java
package
com.login;
import
javax.servlet.http.HttpServletRequest;
import
org.apache.struts.action.ActionErrors;
import
org.apache.struts.action.ActionForm;
import
org.apache.struts.action.ActionMapping;
public
class
LoginForm
extends
ActionForm {
private
String username;
private
String password;
public
void
reset(ActionMapping mapping, HttpServletRequest request) {
System.out.println("--------reset()-------------");
super
.reset(mapping,
request);
}
public
ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
System.out.println("--------validate()-------------");
return
super
.validate(mapping, request);
}
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;
}
}
对我个人来说最重要的是前台jsp 页面没有掌握,经常在页面上花费很多时间
在编写JSP 页面时要用struts 标签,而我经常会忘记
引入jsp 标签
<%@ taglib uri="http://struts.apache.org/tags-html " prefix="html " %>
<%@ taglib uri="http://struts.apache.org/tags-bean " prefix="bean " %>
index.jsp
<%@ page language="java " import ="java.util.* " pageEncoding="UTF-8 "%>
<%@ taglib uri="http://struts.apache.org/tags-html " prefix="html " %>
<%@ taglib uri="http://struts.apache.org/tags-bean " prefix="bean " %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html>
<head>
<title> 首页</title>
</head>
<body>
<form action="TestAction.do?cmd=testStrutsAction" method="post">
<div id="conent">
<div id="loginArea">
<span>user login</span>
<table>
<tr>
<td>userName:</td>
<td><input type="text" name="username" id="username" value=""/></td>
</tr>
<tr>
<td>password:</td>
<td><input type="password" name="username" id="username" value=""/></td>
</tr>
<tr>
<td colspan=2><input type="submit" value="submit"/></td>
</tr>
</table>
</div>
</div>
</form>
</body>
</html>
展示结果(将 Action 的返回值展示到 JSP 页面上)
<%@ page language="java " import ="java.util.* " pageEncoding="UTF-8 "%>
<%@ taglib uri="http://struts.apache.org/tags-html " prefix="html "%>
<%@ taglib uri="http://struts.apache.org/tags-bean " prefix="bean "%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html>
<head>
<title>Error</title>
</head>
<body>
<bean:write name ="errorInfo " scope="request " />
</body>
</html>
发表评论
-
ssh框架搭建教程
2012-12-26 15:01 984ssh框架搭建教程,详细参照附件,附件中,有部分是如果报错: ... -
Struts Tiles框架实例(转) tiles布局
2012-07-31 10:49 13061.在你的struts配置文件struts-config.xm ... -
拦截器配置错误:The content of element type "package" must match "(result-types?,interce
2012-06-01 00:27 918在编写后台登陆模块时,将许多默认的设置放在一个名为defaul ... -
Struts2中,如何把Action值传递到相应jsp中
2012-02-03 15:34 2536Map request=(Map)ActionContext. ... -
hibernate项目配置过程
2011-12-25 10:52 935hibernate项目配置过程 1、新建java项目 2、 ... -
struts2环境配置
2011-08-04 07:26 1153环境配置,如果采用myeclipse直接加入struts2.x ... -
Struts2与Struts1之间的区别
2011-08-04 07:06 988通过仔细对比,你可以 ...
相关推荐
Struts1入门实例 完整代码 包含所有jar包 可直接运行 代码结构清晰 初学者也很容易上手
Struts1入门教程实例
( struts2入门实例教程详解.docx )
Struts2.0入门实例源码 Struts2.0入门实例源码
一个Spring的入门实例;一个Struts的入门实例:超初级,入门用的,高手莫看
struts2入门实例和工作(流程)原理struts2入门实例和工作(流程)原理struts2入门实例和工作(流程)原理struts2入门实例和工作(流程)原理
Struts1 程实例教 透彻分析了Struts1的原理 外加实例配带 经典之作适合入门者和想详细了解Struts1的人 Struts1 程实例教 透彻分析了Struts1的原理 外加实例配带 经典之作适合入门者和想详细了解Struts1的人Struts1 ...
struts2入门实例,资源文件国际化,validate()和框架两种方法的验证.页面常用标签等
Struts2 入门实例代码
struts2 最新的入门实例 我自己总结的 呵呵,欢迎提出宝贵的意见 1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp--------------...
struts2_入门实例struts2_入门实例struts2_入门实例struts2_入门实例struts2_入门实例
Struts & Hibernate入门实例
struts入门实例struts入门实例
struts2 例子 struts.xml基本配置 页面跳转
1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...
1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...