本文IDE选用Eclipse
1.在File-->New-->Dynamic Web Project目录下,创建名称为strutsdmo的,动态的web文件
点击next,出现的页面,配置编译文件路径
点击next,进入下一个页面,选中红色框复选框,生成web.xml文件
点击finish,创建成功项目,如下图
2.项目创建完成后,在WEB-INF文件下lib文件夹下,添加进入struts所需要的jar包
commons-fileupload-1.3.1.jar struts的上传下载两者缺一不可
commons-io-2.2.jar struts的上传下载两者缺一不可
commons-lang3-3.2.jar 为java.lang包提供扩展
commons-logging-1.1.3.jar Jakarta的通用日志记录包
freemarker-2.3.22.jar FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具
javassist-3.11.0.GA.jar 并非struts2的一个包,是一个外来的包, struts2.2.1开始依赖这个包。
这是一个编辑Java字节码的类库。他的用是处使Java字节码操纵简单。
ognl-3.0.6.jar 是支持ognl表达式
struts2-core-2.3.24.jar struts2的核心jar包,不可缺少的
xwork-core-2.3.24.jar xwork 的核心包,由于 Struts2 是由 xwork 的延伸 有些类依然关联着 xwork 的类----------------------------------------------------------------------------------------------------------------------------------------------------------
添加jar包后,选中所有jar包,右键Build Path---->Add Build 添加到项目中
3.完成基础准备,接下来在web.xml文件配置,struts的核心过滤器StrutsPrepareAndExecuteFilter
<?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_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>strutsdemo</display-name>
<!-- sturts2过滤器 -->
<filter>
<filter-name>sturts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sturts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.配置struts.xml文件
有struts.xml配置文件模板就直接复制.
没有的话在Libraries-->struts2-core-xxx.jar (struts核心jar包) struts-default.xml中复制模板到struts.xml文件中
scr路径下有struts.xml文件 ,还有创建HelloWorldAction.java 文件夹,java文件代码如下:
package com.ty.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
public String hello(){
System.out.println("执行hello");
/*
* 返回SUCESS,系统默认的为result就不用指定name属性
* <result>/result.jsp</result>
*/
return SUCCESS;
}
}
在WebRoot文件夹下,创建hello.jsp页面,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>HelloWorld</title>
</head>
<body>
<h1>Hello World...</h1>
</body>
</html>
struts.xml文件的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="hellworldAction" class="com.ty.action.HelloWorldAction" method="hello">
<result>/hello.jsp</result>
</action>
</package>
</struts>
整个访问路径 http://localhost:8080/strutsdemo/hellworldAction.action
strutsdemo是项目的名称
hellworldAction对应struts.xml文件中action的name
1.通过这个路径,首先在struts.xml文件中,匹配action的名称;
2.然后找到action对应的class属性找到com.ty.action.HelloWorldAction类;
3.action标签后面的method属性,就是指定的方法,对应HelloWorldAction类里面的hello方法
4.执行方法返回去找到/hello.jsp页面
如有错误,请指正.共同进步^-^