欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java中struts配置

程序员文章站 2024-03-05 10:35:24
1.了解struts struts2框架中核心组件就是action、拦截器等,struts2框架使用包来管理action和拦截器等。每个包就是多个action、多个拦截器...

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。

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