传智播客——struts框架原理及应用(二)配置文件细节

来源:互联网 发布:cctv直播软件 编辑:程序博客网 时间:2024/04/30 11:13

一 创建控制器组件
Action对应的是配置文件中的子元素<action>
 public class LoginAction extends Action {
 ActionForward组件在配置文件对应的是<forward>子元素
 用于表明处理完用户请求后要转向的目标响应页面。
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
                  throws Exception {
      UserForm userform = (UserForm) form;
      String name = userform.getName();
      String psw = userform.getPwd();
      if ("sqlserver".equals(name) && "sa".equals(psw)) {
             // UserLoginLog ul = new UserLoginLog();
             // ul.save(name, psw);
             return mapping.findForward("successed");
     } else {
             return mapping.findForward("failed");
}
 }
二、准备配置文件
web.xml 
web应用程序通用的配置文件。主要完成ActionServlet的配置、默认首页的设置等工作。
struts-config.xml 
整个Struts架构的核心,在Struts架构中,开发者通过它来组装各个组件,建立应用程序的总体脉络,该文件的作用相当于一个大型项目运转过程中的控制调配中心。  
6、准备配置文件(续)
struts-config.xml配置文件--<action> 
Action对应的是配置文件中的子元素<action> 
path - 和本Action匹配的请求页面相对路径,不包括后缀(如".do"),该相对路径必须以"/"开头。本例中表明该Action负责接收login.do请求。
type - 指定处理请求的Action类,必须是包含完整的package路径的类名。
name - 指定要用到的ActionForm的名字。该名字必须在前面的<form-beans>元素中声明过。
scope - 规定ActionForm的使用范围,缺省为session范围,这里规定为request。
input - 表单验证出错时要转向的错误处理页面。
forward - 指定目标响应页面。 
struts-config.xml配置文件-- <forward>
ActionForward组件在配置文件对应的是<forward>子元素,用于表明处理完用户请求后要转向的目标响应页面。该元素可以在两个地方定义:
定义在<global-forwards>元素中。此时在整个应用程序范围内有效,即在所有的Action中都可用,类似于编程语言中的全局变量。
定义在<action>元素中,此时只能用于对应的Action 中。
<forward>子元素包含的相关属性,其作用如下:
name - forward元素名,Action中使用此标识来查找确定目标响应页面。
path - 指定目标响应页面的相对URL。 
struts-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<struts-config>
<!-- 
    <form-beans>用于声明ActionForm,其子元素的两个属性的作用分别是:
     name – ActionForm类型实例的名字,以便于后续处理页面中引用。
     type – 该实例的确切类型,包括完整的包(package)路径在内的类名。
-->
<form-beans>
      <form-bean name="userForm" type="org.struts.form.UserForm" />
</form-beans>
<global-exceptions></global-exceptions>
<global-forwards></global-forwards>
struts-config.xml配置文件
<action-mappings>
<!--  path - 和本Action匹配的请求页面相对路径,不包括后缀(如".do"),该相对路径必须以"/"开头。
             本例中表明该Action负责接收login.do请求。
        type - 指定处理请求的Action类,必须是包含完整的package路径的类名。
        name - 指定要用到的ActionForm的名字。该名字必须在前面的<form-beans>元素中声明过。
        scope - 规定ActionForm的使用范围,缺省为session范围,这里规定为request。
        input - 表单验证出错时要转向的错误处理页面。
        forward - 指定目标响应页面。 -->
<action path="/login" name="userForm"
             type="org.struts.action.LoginAction" scope="request">
<!--  <forward>子元素包含的相关属性,其作用如下:
                 name - forward元素名,Action中使用此标识来查找确定目标响应页面。
                 path - 指定目标响应页面的相对URL。 -->
    <forward name="failed" path="/error.jsp" />
    <forward name="successed" path="/right.jsp" />
</action>
              <action path="/regist" forward="/regist.jsp" />
</action-mappings>
</struts-config>
Web.xml文件配置
    <servlet>元素主要用于完成ActionServlet实例的配置
<servlet-name>用于指定servlet名称,以便于配置文件中的其它部分进行引用
<servlet-class>用于指定该所属的类名,必须要包含所在的包的层次。
<servlet-mapping>元素主要用于指定请求URI(Uniform Resource Indicator,统一资源指示符)和ActionServlet间的映射关系。
本例中表明所有“.do”结尾的页面请求均由名为actionServlet的ActionServlet实例进行处理。
学习总结:程序之间使用xml文件来传送参数,使得配置起来更加的方便和直观,当需要修改时,也很简单

原创粉丝点击