`
hiehu8
  • 浏览: 9840 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2初学者第一个实例

阅读更多

学习框架的最好方法莫过于自己亲手编译第一个实例。

本文基于浪曦浪曦Struts2应用开发教程,采用最简单的方式编写一个登录页面附带 “帐号”,“密码”验证。

 

一 login.jsp页面采用struts标签方式

导入标签<%@ taglib prefix="s" uri="/struts-tags"%>

struts-tags.tld位于struts-core-2.0.11.2.jar 包

 

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
     <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
  <link rel="stylesheet" type="text/css" href="styles.css">
  </head>
 <body>


  <s:form action="login">
 <s:textfield name="username" label="username"></s:textfield>
 <s:password name="password" label="password"></s:password>
 <s:submit label="submit"></s:submit>
 </s:form>


 </body>
</html>

 

二 编写对应的javaBean

     package com.test.struts;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

//继承了ActionSupport类,以便于使用其addFieldError方法实现帐号验证功能

 /**
  *
  */
 private static final long serialVersionUID = -1543657534165400081L;
 private String username;
 private 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;
 }

//execute方法实现帐号,密码是否为hello,world相同

 public String execute() throws Exception {
  if("hello".equals(this.getUsername().trim())&&
    "world".equals(this.getPassword().trim())){
   return "success";//将转发到result页面
  }
  else{
   this.addFieldError("username","username or password is error!");
   return "failer";

   //如果不同同样转发到result页面显示出错信息

  //addFieldError("","");string参数表示将要显示 的位置和信息
  }
    
 }

 @Override

//检验帐号或密码是否为空的方法
 public void validate() {
  if(null==this.getUsername()||"".equals(this.getUsername().trim())){
   this.addFieldError("username","username required!");
  }
  if(null==this.getPassword()||"".equals(this.getPassword().trim())){
   this.addFieldError("password","password required!");
  
  }
  
 }

}

三,编写配置文件

   struts.xml在eclipse中可在src根目录编写,编译后自动生成到了classes目录,

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 <package name="struts2" extends="struts-default">
  <action name="login" class="com.test.struts.LoginAction">
   <result name="success">/result.jsp</result>
   <result name="input">/login2.jsp</result>
   <result name="failer">/login2.jsp</result>
  </action>
 </package>
</struts>

 

其中<package name="struts2" extends="struts-default">不能改变,

<action name="login"与login.jsp中的action对应,class与javaBean对应,

<result name="input">/login2.jsp</result>表示帐号或密码没输入时返回的页面

<result name="failer">/login2.jsp</result>表示验证帐号是否正确时返回页面。

 

web.xml文件相当于struts 1中的struts-config

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

其中的过滤filter是程序中用到的转发的需要

四  最后编写result.jsp页面

显示登录成功后的用户名,密码

 

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <link rel="stylesheet" type="text/css" href="styles.css">
  </head>
  <body>
  username:${requestScope.username}
  password:${requestScope.password }
  </body>
</html>

 

分享到:
评论

相关推荐

    Struts 2权威指南

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点的各种用法,本书覆盖到Struts 2近80%的...

    Struts2权威指南-src

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点的各种用法,本书覆盖到Struts 2近80%的...

    Struts 2 权威指南:基于WebWork核心的MVC开发 光盘

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点的各种用法,本书覆盖到Struts 2近80%的...

    Struts1.0 开发指南 多个文档

    Struts1.0学习文档-初学者入门.doc Struts,MVC 的一种开放源码实现.doc Struts.doc Struts标记库.doc Struts开发指南之J2EE n层结构....样章第02章 第一个Struts应用helloapp应用.doc 用Struts建立MVC应用的介绍.doc

    Struts2权威指南完整版

    笔者在介绍Struts 2.1框架时,既照顾到了Struts 2.1初学者的能力,对每个知识点都给出简单的快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点的各种用法,本书覆盖了Struts 2.1...

    Struts2权威指南--基于WebWork核心的MVC开发(完整版) 积分少

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的 快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点 的各种用法,本书覆盖到Struts 2近80%...

    Struts2权威指南--基于WebWork核心的MVC开发(完整版) 需要积分少

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的 快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点 的各种用法,本书覆盖到Struts 2近80%...

    Struts2权威指南--基于WebWork核心的MVC开发(完整版)

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的 快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点 的各种用法,本书覆盖到Struts 2近80%...

    [Struts2权威指南--基于WebWork核心的MVC开发(完整版)

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点的各种用法,本书覆盖到Struts 2近80%的...

    Struts+2权威指南--基于WebWork核心的MVC开发(完整版)

    笔者在介绍Struts 2框架时,既照顾到Struts 2初学者的能力,对每个知识点都给出简单的 快速上手的示例;同时也考虑到开发者在日后开发中可能遇到的问题,详细讲解了每个知识点 的各种用法,本书覆盖到Struts 2近80%...

Global site tag (gtag.js) - Google Analytics