struts1的配置

2017-06-02  本文已影响0人  玲珑花

工具:Myeclipse

项目右键--Myeclipse--addStruts 此次选择为struts1.3,其余为默认,确定即可完成。

可以查看web.xml,已经自动配置好struts的servlet,struts-config文件已经生成。

我的web.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

试验struts1,使用一个登录页面来验证

页面的代码如下:

<form action="<%=basePath %>/login.do" method="post" >  

        userName:<input id="userName" name="userName" type="text" /><br>  

        passWord:<input id="passWord" name="passWord" type="password" /><br>  

       <input type="submit" id="submit" name="submit" value="submit" />  

    </form>  

按照此页面的action,对struts-config文件进行配置,如下:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> 

 <action-mappings> 

 <action path="/login"

       type="com.lanp.webapp.action.LoginAction"             name="loginActionForm" scope="request"> 

<!--name属性:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-bean元素中定义过。 --> 

<!-- scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为session --> 

 <!-- type 指定Action类的完整类名 -->

<forward name="success" path="/success.jsp" /> 

 <forward name="error" path="/error.jsp" /> </action> 

 </action-mappings> 

 </struts-config>

完成后编写后台代码,新建类继承Action类,覆盖execute()方法,在此方法中获取页面的值,再进行判断。

如下:

package com.lanp.webapp.action;  

  

import javax.servlet.http.HttpServletRequest;  

import javax.servlet.http.HttpServletResponse;  

  

import org.apache.struts.action.Action;  

import org.apache.struts.action.ActionForm;  

import org.apache.struts.action.ActionForward;  

import org.apache.struts.action.ActionMapping;  

  

import com.lanp.webapp.form.LoginActionForm;  

public class LoginAction extends Action {    

    @Override  

    public ActionForward execute(ActionMapping mapping, ActionForm form,  

            HttpServletRequest request, HttpServletResponse response)  

            throws Exception {  

        String userName = request.getParameter("userName ");

        String passWord = request.getParameter("passWord ");

          

        if(null != userName && "admin".equals(userName) && null != passWord && "admin".equals(passWord)) {  

            path = "success";  

            request.setAttribute("userName", userName);  

        } else {  

            path = "error";  

        }  

//相对于struts2,就是返回的result,也就是forword要指向的页面

        return mapping.findForward(path);  

    }        

}  

结束。

使用Myeclipse的好处就是常用的jar可以直接加上,根据网上的教程自己测试一遍,跑通了记录。

一开始就是使用struts2,再用struts1感觉很像,又有些地方不像,自己搭建一遍,更有感触。

上一篇 下一篇

猜你喜欢

热点阅读