Struts2入门

来源:互联网 发布:淘宝3天不发货怎么投诉 编辑:程序博客网 时间:2024/05/17 04:11

Struts2入门

2016/12/21

Struts2概述

Struts2是什么

Struts2是一个非常优秀的、免费开源的MVC框架(Model2设计模型),用于创建Web应用。由传统Struts1和WebWork两个经典框架发展而来。在 struts 1和WebWork的技术基础上进行了合并的全新的Struts2框架,Struts2以WebWork为核心,但开发流程类似于struts1。

框架:是可以重复使用的一些或一整套代码,通常与具体业务无关,也可以认为是软件的半成品。

MVC(全名是Model View Controller):是一种软件设计模式,或软件设计思想。

Model2 : Servlet (控制)+ JSP(显示) + JavaBean(数据处理)–符合MVC思想架构模式。
适合大型项目

Java web企业应用开发根据又根据Model2(也可以说是根据MVC思想)制定了三层结构体系(来自于JavaEE规范):

  • 表现层(页面数据显示、页面跳转调度)servlet

  • 业务层(业务处理和功能逻辑、事务控制)service

  • 持久层(数据存取和封装、和数据库打交道)dao

Struts2就是一个表现层框架,可以用来简化表现层代码开发的。

Struts2核心功能:

  • 允许POJO对象作为action

  • Action中的servlet API不再与方法耦合

  • 支持更多视图技术(jsp、freemarker、velocity)

  • 基于Spring AOP思想的拦截器机制

入门示例

本人使用的软件开发包是 : struts-2.3.15.3-all.zip

需求:
  • 使用struts2编写一个简单的请求和跳转的功能页面:发送请求,执行一段逻辑,然后响应一个页面。

快速入门步骤 :

1. 创建web工程

2. 导入jar包

软件包中有126个jar包,快速入门只需以下13个jar包(根据项目的功能添加jar包):

num jar 1 asm-3.3.jar 2 asm-commons-3.3.jar 3 asm-tree-3.3.jar 4 commons-fileupload-1.3.jar 5 commons-io-2.0.1.jar 6 commons-lang3-3.1.jar 7 commons-logging-1.1.3.jar 8 freemarker-2.3.19.jar 9 javassist-3.11.0.GA.jar 10 log4j-1.2.17.jar 11 ognl-3.0.6.jar 12 struts2-core-2.3.15.3.jar 13 xwork-core-2.3.15.3.jar

3. 配置使用struts2的框架(web.xml)

<?xmlversion="1.0"encoding="UTF-8"?><web-appid="WebApp_9"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"><display-name>struts</display-name><!-- 配置sturts前端控制器 --><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>

Ctrl+shift+T :然后输入StrutsPrepareAndExecuteFilter后可以联想出该文件(需要关联源代码),然后复制它的绝对路径到标签中

4. 编写页面

在WebRoot文件下创建hello.jsp和result.jsp

hello.jsp

<%@ 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>Insert title here</title></head>    <body>        <a href="${pageContext.request.contextPath}/hello">点击我发送</a>    </body></html>

result.jsp

<%@ 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>Insert title here</title></head>    <body>        <h1>执行请求成功</h1>    </body></html>

5. 编写Action

创建一个类,编写具体的业务逻辑,功能类似于servlet

创建包cn.sturts.和Action类,命名为:HelloAction ,HelloAction类必须实现Action接口

//新建一个类,类名必须以Action作为后缀,需要实现一个Action接口,并且复写一个execute方法//功能类似于servlet,用来处理具体的业务逻辑。publicclass HelloAction implements Action{    //execute:就是默认会执行的方法    //String类型的返回值类型    //success:就是需要响应的页面    @Override    public String execute() throws Exception {        System.out.println("hello world!");        return"success";    }}

6. 配置请求和响应(struts.xml)

在工程的src目录下创建一个struts.xml文件。

struts.xml

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- package:包,在java中不同的包中存放不同功能的代码,那么在struts中的功能也是如此。name:包名,必须保证名称的唯一性    extends:继承哪一个包,继承的效果就是可以使用父包中的一些代码,类似与子类继承父类。这里必须继承struts-default -->    <packagename="default"extends="struts-default"namespace="/">        <!-- 配置action:配置请求的url的名称,需要指定执行的具体的类的路径 name:请求路径的名称 class:就是需要执行的具体的类的路径,HelloAction的路径 -->        <actionname="hello"class="cn.struts.HelloAction">            <!-- 配置需要响应的页面 name:响应页面的名称(也叫结果集视图名称),需要和execute方法中返回的字符串对应一致。 /a_hello/result.jsp:需要响应的页面 -->            <resultname="success">/result.jsp</result>        </action>    </package></struts>

7. 运行测试

发布到tomcat上(或其他服务器),在浏览器地址栏的访问地址是:本机ip:服务器端口号/项目名/hello 例如:127.0.0.1:8080/struts2-01/hello

0 0
原创粉丝点击