(21) java web的struts2框架的使用

在javaweb开发过程中,如果只使用servlet,jdbc,jsp进行开发,也可以遵从MVC的模式,这时候,servlet相当于control层,属于负责处理业务逻辑的控制器,同时也需要对获取和返回数据,链接的跳转和转发进行封装。那么就显得比较臃肿了。(类似iOS开发中的MVC,如果viewController负担了数据处理,业务处理和页面跳转逻辑,会变得臃肿不堪,所以后面MVVM,VIP等模式进一步细化了模块划分)。

struts框架,是apache公司开发的一款基于servlet封装而成的框架,遵从MVC的设计模式,能进一步提高开发效率。

如果脱离struts框架,使用Servlet做项目开发,在项目启动以后,每个模块中的各个接口,都会被可能写成一个Servlet,每个Servlet在服务器启动一个都会在第一访问(可以配置)建时候被创建一个servlet对象。Struts框架,可以通过过滤器,把Servlet降低为一个,通过区分不同的action,来区分不同的业务功能接口,某种程度上优化了Servlet的实现。

structs2框架的使用:

1,导入struts2的jar包:

  struts2-core-xxx.jar 核心功能包

  xwork-core-xxx.jar  xword核心包

  commons-fileupload-xxx.jar  文件上传功能包

  commons-io-xxx.jar   io读写支持文件上传功能

  ognl-xxx.jar   ognl表达式支持包

  commons-langxxx.jar lang的扩展

  freemarker-xxx.jar 标签模版庫

  javassist-xxx.jar  字节码处理

  其他按需求导入

2,配置web.xml

  主要是引入过滤器,StrutsPrepareAndExecuteFilter,核心过滤器

	<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>

3,开发Action

  action是动作类,通常继承ActionSupport

  action进行业务处理,执行具体的请求。

    必须返回字符串类型String

    方法无参数。

  

package actions;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	public String login() throws Exception {
		HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();  

        out.write("success");
        out.close();
        return null;
	}
}

  如果返回具体的字符串,客户端会展示struts.xml中配置的result返回页面,返回null,然后进行response write方法,可以单纯返回字符串,相当于api接口

4,配置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="actions" extends="struts-default">
    	<action name="login" class="actions.LoginAction" method="login">
    		<result name="success">/index.jsp</result>
    	</action>
    </package>
</struts>

  name: 访问的接口uri

  class:具体执行的Action类,带完整包名

  method:Action处理的具体函数名

原文地址:https://www.cnblogs.com/yangzigege/p/9427698.html

时间: 2024-10-04 07:24:58

(21) java web的struts2框架的使用的相关文章

(22) java web的struts2框架的使用-struts配置文件

1,配置文件的引用 struts中配置文件可以有多个,每个模块的包里面都可以单独设立一个struts配置文件. 主的配置文件,放在"src"文件夹下,可以引入其他配置文件,引入方式: <!-- 在总配置文件中,引入其他配置文件 --> <include file="gy/actions/struts.xml"></include> 其中file属性的配置路径可以右键,copy qualified name 2,常用常量的配置 指定

(24) java web的struts2框架的使用-action参数自动封装与类型转换

structs可以对参数进行自动封装,做法也很简单. 一,action参数自动封装: 1,可以直接在action类中,声明public的属性,接受参数. 2,属性也是是private,如果是private,需要提供setter方法,也可以根据需要提供getter方法. 3,struts可以自动对类型进行转换,一般我们会传递String类型的参数,struts可以转换成默认声明的变量类型 4,调用api时候,传递的参数名必须和action类中声明的名称相同. public class UserAc

(25) java web的struts2框架的使用-基于表单的文件上传

一,首先创建一个表单页面 <body> <form action="uploads" method="post" enctype="multipart/form-data"> 文件: <input type="file" name="uploadObject"> <input type="submit" value="提交"&

Java Web自定义MVC框架详解 (转)

转自:http://blog.csdn.net/jackfrued/article/details/42774459 最近给学生讲Java Web,希望他们能够在学完这部分内容后自己实现一个MVC框架.但是突然发现百度上能搜索到的靠谱的资料并不是很多,有些只是原理没有代码实现,有些有 代码实现但是对于初学者来说理解起来还是比较困难,于是决定把自己讲自定义MVC框架的内容放在这里分享给大家,不仅仅是代码,也有原理和探讨.内容会比 较长,因为我打算用递增的方式讲解如何写一个自定义MVC框架,重点是前

java web 项目常用框架

java框架实在是太多了,网上一搜索一大箩筐,根本就了解不到什么. 我还是以我的经验来说一下j2ee的框架. 1.首先力推struts2框架,这是最经典的框架(可以说没有“之一”).可以帮你快速搭建出一个MVC模型出来.(注:struts1已经很少用了,且问题也很多,强烈推荐使用struts2). 2.Spring框架,这是排行第二的框架(我个人排得,非权威),这个框架出彩的地方就在于它的“依赖注入”和“控制反转”.简单的说,就是在程序运行的时候才将参数注入到容器里,目前好像是到v3版本了. 3

Java Web开发——Struts2 中.action和.do的奥秘

为什么Struts中.action的时候可以访问,是.do的时候不能访问呢?遇到这个问题的时候有点晕乎,在网上查了些资料,终于恍然大悟!下面把自己的经验说来给大家,希望对大家有所帮助. 其实问题发生在struts.properties配置文件里,解决方法是将struts.action.extension改为如下形式struts.action.extension=do,action 这样.action和.do都可以访问了. 在struts.properties中还可以配置很多内容,现在列出来: 下

JAVA web 框架集合

“框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还知道其他的吗? 留言你用过的web框架 Java开源web框架汇总 1 Struts2 Struts2是一个web应用框架.它不是一个Struts的新的发布版本,而是一个全新的框架.Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架. Struts

java web - 为什么要使用spring struts

1.软件里有很多优秀的框架,有一种类型的框架,它的特点是建立在一个现有技术的基础上,提供和现有技术一样业务功能的技术框架,这个新的技术框架比原技术更加易用,更加健壮同时功能更加强大,例如:jQuery,以及本文所要谈到的struts2和springMVC,深究这些框架都是相当之复杂,但是它们的优点其实只有一个:就是让使用者只关心核心业务的开发,框架帮你屏蔽原有技术跟业务开发无关的各类技术问题.像jQuery,struts2或springMVC这类框架之所以优秀,就是它们在这点上做的太好了,以至于

MVC模式在Java web 应用程序的实现

一.MVC简介 MVC(Model-View-Controller)模型-视图-控制器,最早由Trygve Reenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件架构.MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能.除此之外,此模式通过对复杂度的简化,使程序结构更加直观.软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能. Mode