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即可访问对应的控制器
- Struts2教程之一基本使用
- Hibernate5教程之一基本使用详解
- MyBatis教程之一基本使用入门
- 界面原型创建工具Axure使用教程之一:基本操作
- SpringMVC4.3x教程之一基本使用详解
- FloatActionButton之一----------------基本使用
- struts2中使用ajax之一
- Struts2的基本使用
- struts2的基本使用
- Shell脚本基本教程笔记之一
- redis学习教程之一基本命令
- redis学习教程之一基本命令
- redis学习教程之一基本命令
- redis学习教程之一基本命令
- redis学习教程之一基本命令
- redis学习教程之一基本命令
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
- 计算机热点方向、历史、未来
- c++常用知识点5
- birt基础使用
- 自定义View
- 设计模式之模板方法模式
- Struts2教程之一基本使用
- [jzoj]3875. 【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)(图论题,构树+缩点+LCA+并查集)
- 使用VSCode调试.NetCore
- 连通图遍历策略之深度优先搜索(C语言)
- D
- matplotlib模块数据可视化-多图
- C++自定义插入操作符和提取操作符
- 线性可分 与线性不可分
- HashMap