venjianX

keep recording ,keep learning

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

每次都会忘记一些东西,反复查找原因,其实struts1很简单,可是不去巩固也很容易忘记并且犯错误。这是一个最简单的登录Demo.

1.建立web工程,引入struts1.2包

2.建package:action和form。

 2.1在form下建userform.java

package form;

import org.apache.struts.action.ActionForm;

public class UserForm extends ActionForm {

    /**
     * formBean
     */
    private static final long serialVersionUID = 1L;
    
    private String username;
    private String password;
    /**
     * @return the username
     */
    public String getUsername() {
        return username;
    }
    /**
     * @param username the username to set
     */
    public void setUsername(String username) {
        this.username = username;
    }
    /**
     * @return the password
     */
    public String getPassword() {
        return password;
    }
    /**
     * @param password the password to set
     */
    public void setPassword(String password) {
        this.password = password;
    }
    

}

 2.2在LoginAction.java:

如果账户名为”123“,则登录成功。

package 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 form.UserForm;

public class LoginAction extends Action {

    /*
     * (non-Javadoc)
     * 
     * @see org.apache.struts.action.Action#execute(org.apache.struts.action.
     * ActionMapping, org.apache.struts.action.ActionForm,
     * javax.servlet.http.HttpServletRequest,
     * javax.servlet.http.HttpServletResponse)
     */
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        // TODO Auto-generated method stub
        System.out.println("LoginAction.execute()");
        UserForm user = (UserForm) form;
        System.out.println("name = " + user.getUsername());
        if (user.getUsername().equals("123")) {
            return mapping.findForward("success");
        } else {
            return mapping.findForward("error");
        }
    }

}

3.配置文件:

  3.1在WEB-INF下建立struts-config.xml

(这一步是关键步骤!学会了action的配置基本就掌握了struts1)

<?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>
    <form-beans>
        <form-bean name="userform" type="form.UserForm"/>
    </form-beans>
    <action-mappings>
        <action
        attribute="userform" 
        path="/login"
        name="userform"
        scope="request"
        type="action.LoginAction"
        input="/index.jsp"
        >
        <forward name="success" path="/WEB-INF/wel.jsp"/>
        <forward name="error" path="/WEB-INF/error.jsp"/>
        </action>
    </action-mappings>
</struts-config>

3.2配置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">
  <display-name></display-name>    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <!-- servlet class  ?? -->
      <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>
  </servlet>
  <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>

3.3新建jsp页面文件

  index.jsp  (作为input source)

  <form action="login.do" method="post">
    name: <input type="text" name="username">
    <input type="submit" value="submit">
    </form>

跳转页面wel.jsp 和error.jsp

 <body>
    This is wel JSP page. <br>
    hello <%=request.getParameter("username") %>
  </body>

 

posted on 2014-11-12 16:16  venjianX  阅读(448)  评论(0编辑  收藏  举报