引子:http://blog.csdn.net/eiwang/archive/2007/12/10/1927019.aspx
三、开始工作
在
WebContent
下建立
index.jsp
,建立方式如图。
index.jsp
的内容如表,我们暂时不分析。
<%@
page
contentType
=
"text/html; charset=UTF-8"
%>
<
html
>
<
head
>
<title>Example by Doer Liu@UTStarcom sz </title>
</
head
>
<
body
>
This is my JSP page.
<
br
>
<
form
name
=
"userInfoForm"
action
=
"login.do"
method
=
"post"
>
用户名
:
<
input
name
=
"username"
type
=
"text"
/>
密码
:
<
input
name
=
"password"
type
=
"password"
>
<
input
name
=
"sub"
type
=
"submit"
value
=
"
增加
"
/>
<
input
name
=
"res"
type
=
"reset"
value
=
"
重置
"
/>
</
form
>
</
body
>
</
html
>
|
此时就可以运行该工程,忙了这么久,看看效果吧。
运行方式:右键点击
index.jsp
,选择
Run/Debug As
à
Run on Server
,在弹出窗口中默认我们使用的
Tomcat Server
,点击
finish
完成。可以看到
eclipse
中内嵌的浏览器显示我们的网页。其中表单的输入在我们的工程中将得到输入数据(用户名和密码),这些数据会传给我们将要建立的
Action
处理。
现在来看看如何建立我们的
Action
。在
src
下新建一个
package
(包)名为
action
用于保存响应
Web
请求的
Action
类。在
action
包下新建
Action
类
LoginAction
(
action.LoginAction
)如下,注意类的继承关系。
package
action;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
org.apache.struts.action.ActionForm;
import
org.apache.struts.action.ActionForward;
import
org.apache.struts.action.ActionMapping;
import
org.apache.struts.validator.DynaValidatorForm;
import
org.springframework.web.struts.ActionSupport;
//
我们继承
spring
提供的
Action
衍生类
org.springframework.web.struts.ActionSupport
public
class
LoginAction
extends
ActionSupport
{
public
ActionForward execute
(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
return
mapping.findForward(
"success"
);
}
}
|
但是现在
index.jsp
的内容怎么和
LoginAction
的数据匹配呢,我们看到
LoginAction
的
execute
方法有一个属性
ActionForm
,于是我们建立一个类
forms.UserInfoForm
如下,继承
ActionForm
。
package
forms;
import
org.apache.struts.action.ActionForm;
public
class
UserInfoForm
extends
ActionForm {
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; }
}
|
有了两个头,又有了保持内容的类,现在看看我们如何用
struts
把他们联系起来吧。
现在需要在
WEB-INF
下建立文件
struts-config.xml
。其中
form-beans
定义了表单是如何映射的,这里用我们刚刚定义的
forms.
UserInfoForm
。
<?
xml
version
=
”1.0”
encoding
=
"ISO-8859-1"
?>
<!
DOCTYPE
struts-config
PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"
>
<
struts-config
>
<
form-beans
>
<
form-bean
name
=
"userInfoForm"
type
=
"forms.UserInfoForm"
/>
</
form-beans
>
<
action-mappings
>
<
action
attribute
=
"userInfoForm"
path
=
"/login"
input
=
"/index.jsp"
type
=
"org.springframework.web.struts.DelegatingActionProxy"
name
=
"userInfoForm"
scope
=
"session"
validate
=
"false"
>
<
forward
name
=
"success"
path
=
"/success.html"
/>
</
action
>
</
action-mappings
>
</
struts-config
>
|
在
<
action-mappings
>
中定义了我们的
Action
。它的属性
attribute
指出
Action
的内容输入是我们自定义的
ActionForm
,
path
给
Action
赋予一个路径,
input
指明只接受
index.jsp
的输入,
<
forward
标签定义了当
Action
返回
"success"
的时候,将定向到
/success.html
这个网页。
最重要的是
type
,它定义了这个处理这个请求的
Action
类,本来应该是我们自定义的
LoginAction
,但我们却用了
spring
的一个
Action
,为什么?因为我们要用
Spring
管理我们自定义的
Action
。看,
struts
和
Spring
在这里就开始连接起来了。
但还有两个问题,
Struts
和
Spring
又是如何知道对方的存在,如何沟通呢?
Spring
如何知道把控制权交给我们自定义的
LoginAction
呢?
我们先来解决第一个问题,
web.xml
是
Tomcat
这些应用服务器管理的,因此我们在这里将
struts
和
Spring
配置联系起来。这是整个
web.xml
。请看注释。
<?
xml
version
=
"1.0"
encoding
=
|
分享到:
相关推荐
12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...
Struts+Spring+Hibernate整合入门详解
本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...
Struts 2+Hibernate+Spring整合开发技术详解sample.pdf
Struts+Spring+Hibernate整合入门图文教程详解.doc
Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习
Struts+Spring+Hibernate整合开发详解
在weblogic下整合struts+spring+hibernate,实现struts portlet
本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...
Struts 2+Hibernate+Spring整合开发技术详解 书上源码 作 者:蒲子明 出 版 社:清华大学出版社 第12~17章
Struts2+Spring+Hibernate整合过程详解 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到广泛的应用。作为最成功的Web框架,Struts拥有众多的优点:MVC 2模型的使用、功能齐全的标志库(Tag ...
整合struts+hibernate+spring应用开发详解 李刚 第二到第四章
Struts2+Hibernate+Spring整合开发技术详解 蒲子明 随书源码 其他章节代码资源已上传。。此内容只有18章。 因上传大小限制,故分开上传。
用java 来建立一个很有价值的web 应用不是一个简单的任务。在架构这个应用时要考虑很多的因素 和问题。从更高的层次来看,开发人员面临着关于如何构建用户接口,何处驻留业务逻辑,以及如何 实现数据持久性这些问题...
Struts:作为基于 MVC 模式的 Web 应用最经典框架,两个项目Struts 和webwork已经集成,成为现在的Struts2。目前的最新版本是2.0.9(2007-7)。 Spring: 是一个轻型的容器,利用它可以使用一个外部 XML 配置文件...
以下章节源码[03] [04] [05] [08] [10] [11] [12] [13] [14] [15] [16]
Struts2+Hibernate+Spring整合教程
Struts2+Hibernate+Spring整合开发技术详解 蒲子明 随书源码 因上传文件大小有限 只有19-21章。 其中 20章为 bbs 源码 21章为photo System源码