美文网首页
第一个Struts2应用程序

第一个Struts2应用程序

作者: Snow_雪 | 来源:发表于2019-03-12 22:05 被阅读0次

任务:实现登陆(模拟)功能

分析登录功能的需求

首先展示一个登录页面,允许用户输入用户名和密码。

如果用户输入的用户名和密码符合要求(例如用户名和密码一致),则进入一个欢迎界面。

如果用户输入的用户名和密码不符合要求,则进入一个错误提示页面。

第一个Struts2应用程序

Struts2应用的开发步骤

1、向工程添加Struts2的核心库(在WebContent的lib下添加)

第一个Struts2应用程序

2、在web.xml中配置Struts2的核心StrutsPrepareAndExecuteFilter

<!-- struts2的核心过滤器配置 -->

  <filter>

    <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>

  </filter>

  <filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

3、在src目录下添加Struts2的核心配置文件struts.xml

<struts>

<!-- 一个struts根节点可以包含多个package节点 -->

  <!-- 一个package根节点可以包含多个action节点 -->

    <!-- 一个action根节点可以包含多个result节点 -->

    <package name="example"  extends="struts-default">

<!-- name属性用于提交请求时使用,下面表示访问时使用login.action,那么Struts2框架就派loginAction类处理请求 -->

      <action name="login" class="vera.example.controller.LoginAction">

      <!-- execute方法有几个出口就配置几个result节点 -->

      <result name="success">/welcome.jsp</result>

      <result name="error">/error.jsp</result>

      </action>

    </package>

</struts>

4、创建控制器组件

实现Action(在LoginAction.java中实现)

只要改动了Action类就要去strust.xml看看,把相对应的东西修改。

package vera.example.controller;

public class LoginAction {

//用户数据,根据input标签的name属性定义成员变量及其getter/setter

public String username;

public String password;

public String getUsername() {

  return username;

}

public void setUsername(String username) {

  this.username = username;

}

public String getPassword() {

  return password;

}

public void setPassword(String password) {

  this.password = password;

}

//处理方法:公有的 返回值为String 无参 名为excute的方法

public String execute(){

  //功能:检查用户名与密码是否一致

  if(username.equals(password)){

  return "success";

  }

  return "error";

}

}

配置Action(在struts.xml中配置)

<!-- name属性用于提交请求时使用,下面表示访问时使用login.action,那么Struts2框架就派loginAction类处理请求 -->

      <action name="login" class="vera.example.controller.LoginAction">

      <!-- execute方法有几个出口就配置几个result节点 -->

      <result name="success">/welcome.jsp</result>

      <result name="error">/error.jsp</result>

      </action>

5、创建视图组件(jsp页面)

<form action="login.action">

  <table>

    <caption>用户登录</caption>

      <tr>

      <td class="right">用户名:</td>

      <td><input type="text" name="username"></td>

      </tr>

      <tr>

      <td class="right">密码:</td>

      <td><input type="password" name="password"></td>

      </tr>

      <tr>

      <td></td>

      <td><input type="submit" value="登录">

          <input type="reset" value="重填">

      </td>

      </tr>   

  </table>

</form>

6、编译、发布、运行


在操作时出现的错误有

1、出现如下情况

第一个Struts2应用程序

解决问题的办法是(勾选Publish  module  context to separate XML files)

第一个Struts2应用程序

2、出现404错误

原因是在配置核心控制器时,<filter-name>两者的名字不不一致导致的。

相关文章

网友评论

      本文标题:第一个Struts2应用程序

      本文链接:https://www.haomeiwen.com/subject/mbiopqtx.html