笔记仓库:https://github.com/nnngu/LearningNotes
这篇文章主要讲如何在 IntelliJ IDEA 中使用 Struts2,文章使用的 Struts2 的版本是2.5.14.1,与其他的版本有一点差别,在文章里已经说明。
IntelliJ IDEA 2017.2.6
jdk1.8.0_101
Tomcat 8.0.38
commons-fileupload-1.3.3.jar commons-io-2.5.jar commons-lang3-3.6.jar freemarker-2.3.26.jar log4j-api-2.9.1.jar ognl-3.1.15.jar struts2-core-2.5.14.1.jar javassist-3.20.0-GA.jar
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.26-incubating</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.1.15</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.14.1</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.20.0-GA</version> </dependency>
注意:Struts2.5 与之前的版本有点不同,之前的版本还需要xwork-core.jar。Struts2.5不需要它,因为Struts2.5把xwork的源码合并到了struts2-core中。Struts2.5之前使用logging API,而 Struts2.5 用 log4j API 取代。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!--配置struts2的核心拦截器--> <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--> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
注意:Filter的完整类名是:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
Struts2.5 以前是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
package com.nnngu.action; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport { @Override public String execute() throws Exception { System.out.println("正在执行的Action"); // 返回视图 SUCCESS,这是框架定义的 return SUCCESS; } }
Struts2 的核心配置文件为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"> <struts> <package name="default" namespace="/" extends="struts-default"> <!--访问时使用 localhost:8080/helloworld 访问--> <action name="helloworld" class="com.nnngu.action.HelloWorldAction"> <!--结果集,即action类中 SUCCESS 返回的视图--> <result> /result.jsp </result> </action> </package> </struts>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Action Result</title> </head> <body> <h1>恭喜!成功配置好基本的struts2 环境</h1> <h2>Hello nnngu!</h2> </body> </html>
在浏览器访问
展现出来的内容是 result.jsp 的内容。
控制台输出 Action 的打印内容
到此,Struts2 就配置完成了。
Struts2 官方文档:
如对本文有疑问, 点击进行留言回复!!
Postgresql结合postgis使用java的JDBC连接
网友评论