根据Struts in action 的第一章
struts组件图:
Struts的核心是ActionServlet ,ActionServlet控制导航流,当用户在IE 客户端的地址栏输入一个地址,ActionServlet就从容器接受到这个请求,它使用URI来决定哪个action来处理这个请求,请求输入的数据是由ActionServlet来绑定javabean(即formbean);每个请求都必须以 HTTP 响应进行应答,struts提供的核心类ActionForward 用来将一个页面的路径保存为逻辑名称,当完成业务逻辑后, Action 选择并向 Servlet 返回一个ActionForward, Servlet 然后使用保存在 ActionForward 对象中的路径来调用页面完成响应。
Action类:
public class RegisterAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception{
RegisterForm rf = (RegisterForm)form;
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
ActionForward forward = new ActionForward();
if(password1.equals(password2)){
try{
// ((UserDirectory) UserDirectory.getInstence()).setUser(username, password1);
forward = mapping.findForward("success");
}catch(Exception e){
forward = mapping.findForward("failure");
}
} else{
forward = mapping.findForward("failure");
}
return forward;
}
}
form:
public class RegisterForm extends ActionForm {
private String password2;
private String password1;
private String username;
public String getPassword1() {
return password1;
}
public void setPassword1(String password1) {
this.password1 = password1;
}
public String getPassword2() {
return password2;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
public String getUsername() {
return username;
}
public void setUsername(String usename) {
this.username = usename;
}
}
struts-config.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data-sources />
<form-beans>
<form-bean name="registerForm" type="com.app.RegisterForm">
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/registerAction" name="registerForm" scope="request" type="com.app.RegisterAction" >
<forward name="success" path="/page/app/success.jsp"></forward>
<forward name="failure" path="/page/app/failure.jsp"></forward>
<forward name="register" path="/page/app/register.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
页面:
1.register.jsp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ page
language="java"
contentType="text/html; charset=GB18030"
pageEncoding="GB18030"
%>
<HTML>
<HEAD>
<TITLE>register</TITLE>
</HEAD>
<BODY>
<P><html:form action="/registerAction.do">
用户名:<html:text property="username"></html:text><BR>
密码1: <html:text property="password1"></html:text><BR>
密码2: <html:text property="password2"></html:text><BR>
<html:submit value="Register"></html:submit>
</html:form></P>
</BODY>
</HTML>
2.success.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ page
language="java"
contentType="text/html; charset=GB18030"
pageEncoding="GB18030"
%>
<TITLE>注册成功</TITLE>
</HEAD>
<BODY>
<P>注册成功!</P>
<P><BR>
<BR>
<A href="page/app/register.jsp">再试一次</A>
</P>
</BODY>
</HTML>
3.failure.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ page
language="java"
contentType="text/html; charset=GB18030"
pageEncoding="GB18030"
%>
<TITLE>注册失败</TITLE>
</HEAD>
<BODY>
<P>注册失败!</P>
<P><BR>
<BR>
<A href="
page/app/register.jsp">再试一次</A>
</P>
</BODY>
</HTML>
需要注意配置的地方是action-mappings 中的action属性里的path 的值要和主页面里的
action的值保持一致(区分大小写);fref 的路径的开头不写/ ;在IE里面输入地址时应输入类似于:http://localhost:8088/test/page/app/register.jsp
(test为工程名,page、app为页面的路径)
- 大小: 19.2 KB
分享到:
相关推荐
struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子
struts2例子struts2例子struts2例子struts2例子struts2例子struts2例子struts2例子struts2例子
自己写的struts 的例子,自己写的struts 的例子,自己写的struts 的例子,自己写的struts 的例子,
struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子
Struts例子,Struts是Apache软件基金下Jakarta项目的一部分,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了...
网站 开发 struts 例子网站 开发 struts 例子网站 开发 struts 例子网站 开发 struts 例子网站 开发 struts 例子网站 开发 struts 例子
struts2完整例子struts2完整例子struts2完整例子struts2完整例子struts2完整例子struts2完整例子
struts2简单例子,struts2实例开发
struts2标签使用例子 struts2标签使用例子 struts2标签使用例子struts2标签使用例子
Struts例子.rarStruts例子.rarStruts例子.rarStruts例子.rar
适合初学者学习的struts例子。了解strutsMVC框架的入门使用。
struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts ...
Struts 例子,Struts 例子
在myeclipse中使用struts1编程的例子
strutsvstrutsstrutsstruts
最简单易懂的liferay+struts整合例子,直接导入即可使用。
struts2 例子 struts.xml基本配置 页面跳转
struts2最简单的例子, 现在我学习struts2了,在学习中遇到了什么好的资料,愿意和大家一起分享
根据wantedsheep提问做的一个struts2例子
一个struts实例,比较基础的东西 分享一下哈