`
wzdoxu
  • 浏览: 93718 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts 例子介绍

阅读更多

根据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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics