Struts2教程之一基本使用

来源:互联网 发布:淘宝上回收手机可靠吗 编辑:程序博客网 时间:2024/06/08 05:09

Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
Struts的含义是”支柱,枝干”,它的目的是为了减少程序开发的时间,项目的创建者认为JSP,servlet的存在虽然可以帮助用户解决大部分问题,但是由于它们的编码对项目的开发带来了许多的不方便,可重用性也差,所以struts应运而生,帮助用户在最短的时间内解决这些问题。Struts框架提供如下服务:
(1)作为控制器的Servlet。
(2)提供大量的标签库。
(3)提供了用于国际化的框架,利用不同的配置文件,可以帮助用户选择合适自己的语言。
(4)提供了JDBC的实现,来定义数据源和数据库连接池。
(5)XML语法分析工具。
(6)文件下载机制
MVC模型:
V:显示界面,java中一般都是html、jsp、ftl等
C:控制器,承上启下
M:数据模型,一般都是service层提供的
现在的开发中很多项目都是采用Maven,那么本篇文档的代码也都是基于Maven进行的开发。
1、创建Maven项目
打包方式选择war
2、添加jar包依赖
pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>cn.code404</groupId>    <artifactId>Struts2_1</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>war</packaging>    <description>Struts2的基本使用</description>    <dependencies>        <!--Strut2  -->        <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->        <dependency>            <groupId>org.apache.struts</groupId>            <artifactId>struts2-core</artifactId>            <version>2.5.12</version>        </dependency>        <!--Servlet  -->        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>3.1.0</version>            <scope>provided</scope>        </dependency>    </dependencies>    <!--构建信息 -->    <build>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>3.6.0</version>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                    <encoding>UTF-8</encoding>                </configuration>            </plugin>        </plugins>    </build></project>

3、创建控制器类
Struts中的控制器就是Action

//控制器public class HelloAction extends ActionSupport{    public String hello(){        System.out.println("欢迎访问控制器");        return "index";//"success"    }    @Override    public String execute() throws Exception {        // TODO Auto-generated method stub        return super.execute();    }}

4、创建全局配置文件
struts.xml

<?xml version="1.0" encoding="UTF-8"?><!--约束文档 --><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"    "http://struts.apache.org/dtds/struts-2.5.dtd"><!--1、基本使用&Action多种创建方式  --><struts>    <!--包的创建, name:名称 namespace:访问路径 extends:继承包名 -->    <package name="h1" namespace="/" extends="struts-default">        <!--Action的第一种创建方式:继承 -->        <!--Action控制器 name:行为名称,访问名称 class:类的全称 method: 要执行的方法,如果省略,那么执行execute -->        <action name="hello" class="cn.code404.web.action.HelloAction"            method="hello">            <!--result:方法的返回值 name:返回值的内容 -->            <result name="index">/index.jsp</result>        </action>    </package></struts>

5、创建index.jsp页面
6、配置web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">  <display-name>Struts2_Day1</display-name>  <!--Struts2的前端控制器,是一个过滤器组成的,配置文件要求:路径:classes,名称:struts.xml  -->  <filter>  <filter-name>struts2</filter-name>  <filter-class>org.apache.struts2.dispatcher.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>

7、启动
访问:hello或者hello.action即可访问对应的控制器