java中struts配置

 更新时间:2015年06月15日 10:23:16   投稿:hebedich  
本文给大家详细分析了在java项目中配置Struts的方法和示例,十分的简单实用,有需要的小伙伴可以参考下。

1.了解struts

Struts2框架中核心组件就是Action、拦截器等,Struts2框架使用包来管理Action和拦截器等。每个包就是多个Action、多个拦截器、多个拦截器引用的集合。
在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置。它的常用属性有:
l name:必填属性,用来指定包的名字。
l extends:可选属性,用来指定该包继承其他包。继承其它包,可以继承其它包中的Action定义、拦截器定义等。
l namespace:可选属性,用来指定该包的命名空间。

2.配置struts

  首先新建一个web项目,在右击一个项目,选择myeclipse下add struts
在选择 struts2.1 单击下一步在选择自己所需要的包 在保存

3.修改用户登录验证示例,多增加一个注册用户功能。

1.       修改Action类:

package org.qiujy.web.struts2.action;
 
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
 
/**
*@authorqiujy
*@version1.0
*/
publicclass LoginAction extends ActionSupport{
  private String userName;
  private String password;
  
  private String msg; //结果信息属性
  
  /**
   *@returnthemsg
   */
  public String getMsg() {
    returnmsg;
  }
  /**
   *@parammsgthemsgtoset
   */
  publicvoid setMsg(String msg) {
    this.msg = msg;
  }
  /**
   *@returntheuserName
   */
  public String getUserName() {
    returnuserName;
  }
  /**
   *@paramuserNametheuserNametoset
   */
  publicvoid setUserName(String userName) {
    this.userName = userName;
  }
  /**
   *@returnthepassword
   */
  public String getPassword() {
    returnpassword;
  }
  /**
   *@parampasswordthepasswordtoset
   */
  publicvoid setPassword(String password) {
    this.password = password;
  }
  
  /**
   *处理用户请求的login()方法
   *@return结果导航字符串
   *@throwsException
   */
  public String login() throws Exception{
    if("test".equals(123) && "test".equals(123)){
      msg = "登录成功,欢迎" + 123;
      //获取ActionContext实例,通过它来访问Servlet API
      ActionContext context = ActionContext.getContext();
      //看session中是否已经存放了用户名,如果存放了:说明已经登录了;
//否则说明是第一次登录成功
      if(null != context.getSession().get("uName")){
        msg = this.userName + ":你已经登录过了!!!";
      }else{
        context.getSession().put("uName", this.userName);
      }
      
      returnthis.SUCCESS;
    }else{
      msg = "登录失败,用户名或密码错";
      returnthis.ERROR;
    }
  }
  
  public String regist() throws Exception{
    //将用户名,密码添加到数据库中
    //...
    msg = "注册成功。";
    returnthis.SUCCESS;
  }
}

2.       struts.xml文件:没有什么变化,跟以前一样配置

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
  <package name="my" extends="struts-default" namespace="/manage">
  <!-- 定义处理请求URL为login.action的Action -->
    <action name="userOpt" class="org.qiujy.web.struts2.action.LoginAction">
    <!-- 定义处理结果字符串和资源之间的映射关系 -->
      <result name="success">/success.jsp</result>
      <result name="error">/error.jsp</result>
    </action>
  </package>
</struts>

3.       页面:
index.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
  <title>用户登录页面</title>
</head>
 
<body>
 <h2>用户入口</h2>
 <hr>
  <form action="manage/userOpt!login.action" method="post">
  <table border="1">
     <tr>
       <td>用户名:</td>
       <td><input type="text" name="userName"/></td>
     </tr>
     <tr>
       <td>密码:</td>
       <td><input type="password" name="password"/></td>
     </tr>
     <tr>
       <td colspan="2">
         <input type="submit" value=" 确定 "/>
       </td>
     </tr>
  </table>
  </form>
</body>
</html>

regist.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
  <title>用户注册页面</title>
</head>
 
<body>
 <h2>用户注册</h2>
 <hr>
  <form action="manage/userOpt!regist.action" method="post">
  <table border="1">
     <tr>
       <td>用户名:</td>
       <td><input type="text" name="userName"/></td>
     </tr>
     <tr>
       <td>密码:</td>
       <td><input type="password" name="password"/></td>
     </tr>
     <tr>
       <td colspan="2">
         <input type="submit" value=" 注册 "/>
       </td>
     </tr>
  </table>
  </form>
</body>
</html>

现在就可以使用sturts。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • Java中的clone方法详解_动力节点Java学院整理

    Java中的clone方法详解_动力节点Java学院整理

    clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。下面通过本文给大家介绍java中的clone方法,感兴趣的朋友一起看看吧
    2017-06-06
  • 一个Java配置文件加密解密工具类分享

    一个Java配置文件加密解密工具类分享

    在 JavaEE 配置文件中,例如 XML 或者 properties 文件,由于某些敏感信息不希望普通人员看见,则可以采用加密的方式存储,程序读取后进行解密
    2014-04-04
  • 关于PreparedStatement的setObject作用及说明

    关于PreparedStatement的setObject作用及说明

    这篇文章主要介绍了关于PreparedStatement的setObject作用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 一文搞懂Spring中的JavaConfig

    一文搞懂Spring中的JavaConfig

    这篇文章主要介绍了Spring中的JavaConfig知识,包括事务注解驱动,properties配置文件加载方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • java Socket无法完全接收返回内容的解决方案

    java Socket无法完全接收返回内容的解决方案

    这篇文章主要介绍了java Socket无法完全接收返回内容的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java之JFrame输出Helloworld实例

    Java之JFrame输出Helloworld实例

    这篇文章主要介绍了Java之JFrame输出Helloworld的方法,以输出Helloworld的实例分析了JFrame的简单入门技巧,需要的朋友可以参考下
    2015-02-02
  • Spring Data Jpa返回自定义对象的3种方法实例

    Spring Data Jpa返回自定义对象的3种方法实例

    在使用Spring Data Jpa框架时,根据业务需求我们通常需要进行复杂的数据库查询,下面这篇文章主要给大家介绍了关于Spring Data Jpa返回自定义对象的3种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Java实现斗地主简化版

    Java实现斗地主简化版

    这篇文章主要为大家详细介绍了Java实现斗地主简化版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • SpringBoot浅析依赖管理与自动配置概念与使用

    SpringBoot浅析依赖管理与自动配置概念与使用

    一般来讲SpringBoot项目是不需要指定版本,而SSM项目是需要指定版本,SpringBoot的核心依赖就是spring-boot-starter-parent和spring-boot-starter-web两个依赖,这篇文章主要介绍了SpringBoot依赖管理与自动配置概念与使用
    2022-10-10
  • 详解Java并发编程基础之volatile

    详解Java并发编程基础之volatile

    volatile作为Java多线程中轻量级的同步措施,保证了多线程环境中“共享变量”的可见性。这里的可见性简单而言可以理解为当一个线程修改了一个共享变量的时候,另外的线程能够读到这个修改的值。本文将详解介绍Java并发编程基础之volatile
    2021-06-06

最新评论