Struts2学习笔记(1)-入门教程

  什么是Structs2?它就是在Struts1的基础上演化而来的,是一种MVC模式的框架,其实它的功能很简单,就是将View和逻辑处理层分开。本人才疏学浅,以前都是用Spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的Structs框架,木有办法,从头开始学吧!

  所需软件-Eclipse、TomCat7.0、Struts-2.3.1.2(源码自己下载),下面以具体小项目来说明。

  首先是Struts2的工作原理:首先Tomcat对用户所输入的URL进行解析,将其中的项目名称解析出,然后程序查找所启动的项目,然后直接到配置文件web.xml中,根据web.xml文件的配置即filter查找到struts2的配置文件--struts.xml,然后根据其中的namespace,查找到用户所访问的action,然后跳转到用户所需的action界面。

  也许看着上面的比较麻烦,下面用一个典型的小项目来说明:

  1、打开Eclipse(注本Eclipse不是经典的而是下载的IDE版本,用于Web开发非常方便),新建一个Web Project,注意要按照next的方式进行,这样在最后一步可以选择到web.xml一项,省掉了手动添加的步骤。

  2、添加jar包,将下载的structs源码包解压,然后将其中的lib文件下你所用到的jar包添加进去,添加的位置WebContent-WEB-INF下的lib文件夹。

  3、添加struts.xml文件,最简单的struts.xml文件在所下载的struts源码的app中,可以从其中寻找一份,也可按以下方式自己写一份(最简单的),直接放到src的根目录下:

代码如下:

<?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>
<constant name="struts.devMode" value="true" />
<package name="front" namespace="/" extends="struts-default">
 
    <action name="index" class="com.myservice.web.Action02">
  <result name="success">/Index.jsp</result>
    </action>
</package>
</struts>

对以上内容做下说明:第6行的struts.devMode配置的是是否采用开发模式,开发模式的意思就是动态修改可以动态演示,无需重启server,它默认是false;第7行的package如同java的包一样,用于分类;namespace非常重要,是用于分割url的,如上所述,要打开的url为:......./index,其中的/代表namespcae,index则代表了action的name属性。action中的class是类,用于一些逻辑处理的普通java类;result则是转入的jsp(View)界面,上述的jsp界面放在WebContent根目录下。

  4、编写Java类-Action02,新建一个包com.myservice.web,然后新建一个Java类Action02,其内容很简单,

代码如下:

package com.myservice.web;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class Action02 extends ActionSupport{
 
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return "success";
    }
 
}

就是覆写execute方法,直接返回了一个字符串success,这个字符串是和action中result的那么属性所对应的。

另还有两种方法可以完成class的功能,但是都不常用,一种是不继承任何的类和接口,直接写一个execute方法,也是返回String;另外一种则是写一个class实现Action接口,然后覆写Action的execute方法,其实ActionSupport也是实现了Action接口,但是它还另外实现了很多方法,可以非常方便的使用,因此在开发中都采用继承ActionSupport类的方式。

  5、编写JSP文件,在WebContent根目录下新建一个jsp文件,注意要将其语言设置为utf-8,,如:

代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>MyWeb02</title>
    </head>
    <body>
        <h1>明日复明日,明日何其多</h1>
    </body>
</html>

通过上述工作,就完成了最简单的编写,然后就可以启动server(Tomcat7.0)了,在浏览器中输入http://localhost:8080/xxx/index,其中的xxx代表的是项目名。

(0)

相关推荐

  • Java的Struts2框架中拦截器使用的实例教程

    1.拦截器小介 拦截器的功能类似于web.xml文件中的Filter,能对用户的请求进行拦截,通过拦截用户的请求来实现对页面的控制.拦截器是在Struts-core-2.2.3.jar中进行配置的,原始的拦截器是在struts-default.xml中配置的,里面封存了拦截器的基本使用方法. Struts2拦截器功能类似于Servlet过滤器.在Action执行execute方法前,Struts2会首先执行struts.xml中引用的拦截器,如果有多个拦截器则会按照上下顺序依次执行,在执行完所有

  • struts2入门Demo示例

    本文讲述了struts2入门Demo示例.分享给大家供大家参考.具体如下: 1.新建Web Project, 名称:struts2Demo; 2.建立一个用户库struts2, 包含最少的struts2的最少的6个jar文件; 其实呢, 对于MyEclipse8以上来说, 是不必须的, 因为它直接支持struts2了.不需要另外导包. 3.用Build Path将struts2的库加进来; 4.在web.xml中加入以下配置: <?xml version="1.0" encodi

  • java Struts2框架下实现文件上传功能

    本文实例为大家分享了Struts2框架实现文件上传的方法,供大家参考,具体内容如下 struts2的配置过程 (1)在项目中加入jar包 (2)web.xml中filter(过滤器)的配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:x

  • 详解Java的Struts2框架的结构及其数据转移方式

    Struts2的结构 1.为什么要使用框架? (1)框架自动完成了很多琐屑的任务 对于Struts2来说,它帮助我们方便地完成了数据类型转换.数据验证.国际化等等 Web开发中常见的任务.还有Spring中大量使用的Template模式,都是在让我们的开发 过程更加自动化.智能化.使用框架就是避免重新发明轮子,重新复制这些模板代码. 框架让我们将精力更多地放在更高级别的问题上,而不是常见工作流和基础任务上. (2)使用框架就是优雅地继承了框架背后的架构 框架背后的架构通常定义了一系列的工作流程,

  • 概述Java的struts2框架

    一.struts2框架概念 Struts2框架是一个轻量级的MVC流程框架,轻量级是指程序的代码不是很多,运行时占用的资源不是很多,MVC流程框架就是说它是支持分层开发,控制数据的流程,从哪里来,到那里去,怎么来,怎么去的这样一个框架:Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. 二.struts2框架的优缺点 1.优点 a) 实现了MVC模式,层次结构清

  • 详解在Java的Struts2框架中配置Action的方法

    在Struts2中Action部分,也就是Controller层采用了低侵入的方式.为什么这么说?这是因为在Struts2中action类并不需要继承任何的基类,或实现任何的接口,更没有与Servlet的API直接耦合.它通常更像一个普通的POJO(通常应该包含一个无参数的execute方法),而且可以在内容定义一系列的方法(无参方法),并可以通过配置的方式,把每一个方法都当作一个独立的action来使用,从而实现代码复用. 例如: package example; public class U

  • java struts2框架简介

    一.Struts2简介  1.Struts2概述 Struts2是Apache发行的MVC开源框架.注意:它只是表现层(MVC)框架. M:model-----数据封装------->javabean V:view------视图----------->jsp C:control------控制器--------> struts2( filter),struts1(servlet)  2.Struts2的来历 Struts1:也是apache开发的一套mvc的开源框架.在2005年之前非

  • struts2框架入门

    如果你之前在MVC模式的时候一直都是通过servlet,获取和返回数据,那么现在开始学习struts2框架,Struts是一个实现MVC设计模式的优秀的框架.它的许多优点我就不说了. 我用自己做的一张图说明servlet和struts2的区别. 写一个最基本的开发步骤,完成开发.         (1)创建WEB 工程         (2)导入必要jar包         (3) 编写JSP 页面         (4)编写Action 服务器端处理逻辑         (5)进行框架配置we

  • Java的Struts2框架配合Ext JS处理JSON数据的使用示例

    最近尝试用extjs来展示树状菜单.着实花了一番功夫.树状菜单的菜单项需要动态加载,而目前版本的extjs中只支持JSON格式的数据.查了一些资 料,决定使用struts2的json-plugin.首先按照例子做了一个,但是结果就是不成功,界面上只出来了一个js中生成的root节点,不能加 载从后台生成的数据.研究后发现是数据格式有问题.使用json-plugin生成的数据格式如下: {"cls":"folder","id":10,"l

  • Struts2学习笔记(1)-入门教程

    什么是Structs2?它就是在Struts1的基础上演化而来的,是一种MVC模式的框架,其实它的功能很简单,就是将View和逻辑处理层分开.本人才疏学浅,以前都是用Spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的Structs框架,木有办法,从头开始学吧! 所需软件-Eclipse.TomCat7.0.Struts-2.3.1.2(源码自己下载),下面以具体小项目来说明. 首先是Struts2的工作原理:首先Tomcat对用户所输入的URL进行解析,将其中的项目名

  • spring boot 学习笔记(入门篇)

    简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 优点: 其实就是简单.快速.方便!平时如果我们需要搭建一个spring web项目的时候需要怎么

  • java struts2学习笔记之线程安全

    在说struts2的线程安全之前,先说一下,什么是线程安全?这是一个网友讲的. 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 就是说,在一个进程中有多个线程并发执行,每个线程执行过程中,变量值是相同的,执行结果也是相同的,就是线程安全的.否则就是线程不安全的. 然后回顾一下servlet的线程安全问题,由于servlet是单例模式的,只会产生一个实例,当多个用户同

  • Struts2学习笔记(9)-Result配置全局结果集

    Result可以设定全局结果集,如: <struts> <constant name="struts.devMode" value="true" /> <package name="user" namespace="/user" extends="struts-default"> <global-results> <result name="m

  • Struts2学习笔记(5)-参数传递方法

    参数传递即将参数传输到程序后台中,后台可能做一些处理,然后再将内容存入数据库之类嗒! 参数传递的方法较多,一一说明如下. 1.Action中直接参数法 有如下的index.jsp文件 复制代码 代码如下: <?xml version="1.0" encoding="GB18030" ?>  <%@ page language="java" contentType="text/html; charset=GB18030&

  • jQuery学习笔记之入门

    最近在学习jQuery,在网上看到有几篇关于jQuery的文章,写的不错转载过来跟大家分享一下: 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: $('#info').val('Hello World!'); 嗯,可以看

  • Struts2学习笔记(3)-DMI动态调用方式

    什么是DMI?DMI即所谓的动态方法调用. Action在执行的时候并不一定要执行execute方法,可以在配置文件中配置Action的时候用method=来指定执行哪个方法,也可以在url地址中动态指定(动态方法调用DMI). 第一种方式,在struts.xml中对Action添加method: 复制代码 代码如下: <struts>     <constant name="struts.devMode" value="true" />  

  • Struts2学习笔记(6)-简单的数据校验

    数据校验是在项目开发中不可缺少的一部分,用户登录时.密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面. 下面用一个简单小例子来说明下步骤: 1.index的表单 复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8"      pageEncoding="U

  • Struts2学习笔记(2)-路径问题解决

    在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动. 解决方法其实也很简单:即统一使用绝对路径. 在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEnco

  • Struts2学习笔记(4)-通配符的使用

    通配符是在struts2配置中非常常用的一种配置方式,在程序开发过程中要遵循"约定优于配置"的原则,在这种原则下,约定的结果如果比较合适的话,就会大大减少配置的数量,使得配置变得非常简单,方便. 下面以例子来做下说明: 1.由如此的一个struts.xml配置文件: 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE struts PUBLIC      &

随机推荐