使用struts1.x开发配置

1)新建一webproject项目

2)加入struts开发所需的jar包(共8个)至WEB-INF/lib下

3)复制准备好的原始web.xml和struts-config.xml文件至WEB-INF目录下

web.xml文件内容:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
  <!-- Standard Action Servlet Configuration (with debugging) -->
  <servlet>
    <servlet-name>action</servlet-name>//servlet的名字
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>//servlet的完整路径
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>//配置struts的配置文件的名字,叫struts-config.xml,另起名时需要修改这里(可配可不配,默认就是这个名

字)
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>//配置servlet输出日志的等级(选配)
    </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>


  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>//定义匹配模式,所有*.do的请求都会被这个servlet截获
  </servlet-mapping> 

</web-app>

 

 

struts-config.xml文件的内容:

 

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!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>
</struts-config>

以上工作即把struts的基本环境配起来了。

4)建立ActionForm类用作数据收集。建立的ActionForm需继承自org.apache.struts.action.ActionForm类,在ActionForm类里提供要收集的属性。名字要和表单上的名字一致。

当ActionForm收集数据时,struts会自动初始化这个类。new完之后他自己调用set方法,把表单上需要收集的属性收集起来。(ActionForm就是一个javabean,符合javabean的规

范)

5)建立Action类,用于逻辑处理。建立的Action需继承自org.apache.struts.action.Action类。复写execute(4个参数)方法。在execute方法里,他已经把ActionForm作为一个

参数传递过来了,只需要强制转化一下,就可以得到表单上的数据。eg:LoginActionForm laf=(LoginActionForm)form;

然后使用laf.getUsername();laf.getPassword();就可以得到表单上的数据,接着就可以调用Model层进行进一步的处理。处理结束之后返回一个ActionForward对象,返回

ActionForward对象的方法:使用ActionMapping对象,ActionMapping对象对应了struts-config.xml的配置信息,配了struts-config.xml,相应的配置信息(path,class,

success等)就存入ActionMapping对象里,故一个ActionMapping实例对应了一个struts-config.xml中的一个action标签。我们使用 return mapping.findForward("success");就

可以返回一个ActionForward对象,下面就是在struts-config.xml中配置action了。

6)配置struts-config.xml:在这里需要配置actionform和action,而且需要先配置actionform(是由dtd决定的)。actionform配置如下:

<form-beans>
<form-bean name="LoginForm" type="com.liu.struts.LoginActionForm"/>//其中name即为给这个actionform起的名字,可任意。type相当于class,即这个actionform的完整路

径,配置之后struts框架就这有这个actionform。
</form-beans>

action配置如下:

<action-mappings>
 <action path="/login"//这里定义页面访问时的路径,通form里的action里的action
 type="com.liu.struts.LoginAction"//此处的type同class,即类的完整路径
 name="LoginForm"//设置与该action匹配的ActionForm,name即为此ActionForm定义时的name
 scope="request" //
  >
  <forward name="success" path="/login_success.jsp"></forward>//定义当success时转向到哪个页面
  <forward name="error" path="/login_error.jsp"></forward>
 </action>
</action-mappings>

 

 


 

你可能感兴趣的:(struts1)