一.Struts2基础

1.Struts2是有Apache在Struts1和Webwork的基础上研发出的新一代MVC框架。

2.Struts2开发环境的搭建:

打开https://struts.apache.org/download.html页面下载Struts2的版本,我使用是:struts-2.3.14-all.zip

二.HelloWorld示例

  1. 新建一个javaweb项目,把下载好的struts-2.3.14-all.zip解压找到lib文件夹,

导入到项目中,然后加载到项目中(自行百度不细说)

2.新建一个FirstAction.java

package com.scce.struts2.action;

import java.text.SimpleDateFormat;
import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class FirstAction extends ActionSupport {
private String date;
private String message;
@Override
public String execute() throws Exception {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时ss分mm秒");
date=sdf.format(new Date());
message="Hello World";
return SUCCESS;
}
public String getDate(){
return date;
}
public String getMessage(){
return message;
}
}

3.新建一个struts.xml文件

<?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="action" namespace="/" extends="struts-default">
<action name="FirstAction" class="com.scce.struts2.action.FirstAction">
<result>/firstStruts2.jsp</result>
</action>

</package>
</struts>

4.修改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>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</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>

5.新建一个firstStruts2.jsp页面

<body>

 ${message }
<s:property value="date"/><br>
${date}
</body>

6.浏览器访问地址:http://localhost:8080/struts2_01/FirstAction.action

效果如下图:

三.属性驱动模型

(注解:Struts2与ServletAPI实现了解耦,所以无法直接使用HttpServletRequest对象获取表单提交的参数,但Strtus2提供了属性驱动模型机制来解决问题)

  1. 新建一个login.jsp页面

    <form action="UserManagerAction.action" method="post">
    <p>用户名:<input type="text" name="username"/>${messsage}</p>
    <p>密 码:<input type="text" name="password"/></p>
    <input type="submit" value="提交"/>
    </form>
  2. 自定义Action类UserManagerAction

package com.scce.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserManagerAction extends ActionSupport {

   public String getMesssage() {

        return messsage;

    }

    public void setUsername(String username) {

        this.username = username;

    }

    public void setPassword(String password) {

        this.password = password;

    }

  private String username;//用户名

   private String password;//密码

   private String messsage;//消息

   @Override

   public String execute()

   { 

       System.out.println("用户名"+username);//打印用户名

       System.out.println("密码"+password);//密码

       //默认账号admin,密码1234验证登陆成功

       if("admin".equals(username)&&"1234".equals(password))

       { 

           messsage="登陆成功!ȷ";

               return "success";

       }

       else

       { 

           messsage="对不起账号或密码错误";

           return "error";

       }

   }

}

3.在struts.xml文件中配置UserManagerAction类的相关信息

<?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="action" namespace="/" extends="struts-default">
        <action name="FirstAction" class="com.scce.struts2.action.FirstAction">
            <result>/firstStruts2.jsp</result>
        </action>
      <action name="UserManagerAction" class="com.scce.struts2.action.UserManagerAction">
           <result name="success">/login.jsp</result>
            <result name="error">/error.jsp</result>
        </action>
    </package>
</struts>

4.在浏览器访问地址:

http://localhost:8080/struts2_01/UserManagerAction.action

自学java_Struts2框架的更多相关文章

  1. Java自学-集合框架 Collections

    Java集合框架 工具类Collections Collections是一个类,容器的工具类,就如同Arrays是数组的工具类 步骤 1 : 反转 reverse 使List中的数据发生翻转 pack ...

  2. Java自学-集合框架 Collection

    Java集合框架 Collection Collection是一个接口 步骤 1 : Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进 ...

  3. Java自学-集合框架 HashSet

    Java集合框架 HashSet 示例 1 : 元素不能重复 Set中的元素,不能重复 package collection; import java.util.HashSet; public cla ...

  4. Java自学-集合框架 HashMap

    Java集合框架 HashMap 示例 1 : HashMap的键值对 HashMap储存数据的方式是-- 键值对 package collection; import java.util.HashM ...

  5. Java自学-集合框架 二叉树

    Java集合框架 二叉树 示例 1 : 二叉树概念 二叉树由各种节点组成 二叉树特点: 每个节点都可以有左子节点,右子节点 每一个节点都有一个值 package collection; public ...

  6. Java自学-集合框架 LinkedList

    Java集合框架 LinkedList 序列分先进先出FIFO,先进后出FILO FIFO在Java中又叫Queue 队列 FILO在Java中又叫Stack 栈 示例 1 : LinkedList ...

  7. Java自学-集合框架 与数组的区别

    Java集合框架与数组的区别 示例 1 : 使用数组的局限性 如果要存放多个对象,可以使用数组,但是数组有局限性 比如 声明长度是10的数组 不用的数组就浪费了 超过10的个数,又放不下 //Test ...

  8. java 自学简单框架(反射+注解)

    1.先定义一个学生类 2.再定义一个teacher类(这个是为了练习多个注解,自己练习可以 不写这个) 3.再定义个一个学生老师类(这个是为了最终调用上面的那个学生类做准备) 4.下面开始真正的写框架 ...

  9. [Python自学] Flask框架 (1) (Flask介绍、配置、Session、路由、请求和响应、Jinjia2模板语言、视图装饰器)

    oldboy:s9day114 参考博客:https://www.cnblogs.com/wupeiqi/articles/7552008.html 一.Flask简介 1.安装Flask pip i ...

随机推荐

  1. 二叉树的简单操作(Binary Tree)

    树形结构应该是贯穿整个数据结构的一个比较重要的一种结构,它的重要性不言而喻! 讲到树!一般都是讨论二叉树,而关于二叉树的定义以及概念这里不做陈诉,可自行搜索. 在C语言里面需要实现一个二叉树,我们需要 ...

  2. oralce执行计划

    看懂Oracle执行计划   最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也来总结一下自己最近所学,不定时更新ing… 一:什么是Oracle执行计划? 执行计划是一条查询语句在 ...

  3. idea 工具中项目文件上有灰色的小X号去除方法

    初使用idea,在项目中发现类上有这样的灰色X号,启动项目后idea会报找不到这个类的错误,原因是它没有被编译, 解决方法 setting->Build->Compiler->Exc ...

  4. [SCOI2003]字符串折叠

    一道蛮好玩的区间DP...其实只要做好check...然后统计答案就好了...QAQ... 呆码: #include<iostream> #include<cstdio> #i ...

  5. 用less编写百度搜索静态效果

    效果图 html页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  6. Beta冲刺三

    Beta冲刺三 1.团队TSP 团队任务 预估时间 实际时间 完成日期 对数据库的最终完善 120 150 12.2 对学生注册功能的完善——新增触发器 150 140 11.29 对教师注册功能的完 ...

  7. PowerDesigner下载安装破解

    power designer是Sybase公司为开发人员推出的一款常用的数据库建模工具集,它能对管理信息系统进行分析设计,几乎能完成数据库模型设计的全过程,利用Power Designer不仅可以制作 ...

  8. Jsoup获取全国地区数据(省市县镇村)

    最近手头在做一些东西,需要一个全国各地的地域数据,从省市区到县镇乡街道的.各种度娘,各种谷歌,都没找到一个完整的数据.最后功夫不负有心人,总算找到一份相对来说比较完整的数据,但是这里的数据也只是精确到 ...

  9. 北大poj- 1013

    Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 50515   Accepted: 15 ...

  10. JAVA EE------XML

    1.XML定义:在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等.它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语 ...