1、建立一个JavaWeb应用
2、获取Struts2的开发包
比如已经下载好的struts-2.3.7-all.zip版本,也可以去官网struts.apache.org下载最新版本
3、拷贝运行Struts2必要的jar包(参考发行包\apps\struts2_blank.war)
4、在classpath下建立一个名为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> </struts>
5、配置核心过滤器
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <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>
启动Tomcat,没有报错,能成功启动,则struts环境配置成功。
注意的事项:
在没有联网的情况下,编写struts.xml文件时,没有代码提示信息:
解决方法:
首先将dtd文件拷贝到项目中去(一般我们在项目中建立目录WEB-INF/dtd)
寻找struts-2.3.dtd文件方法如下:
然后拷贝struts.xml目录中dtd的路径
http://struts.apache.org/dtds/struts-2.0.dtd
最后在MyEclipse中设置:
Windows-->preferences-->MyEclipse-->XML-->XML Ctatlog-->add
包结构:
struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="p1"> <action name="helloAction" class="cn.xbmu.action.HelloAction" method="sayHello"></action> </package> </struts>
HelloAction.java
package cn.xbmu.action; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; //普通的JavaBean:POJO //动作类与ServeltAPI解耦了 //每次都会由框架实例化,没有线程安全问题 public class HelloAction { public HelloAction(){ System.out.println("实例化了。。。。"); } public String sayHello() throws IOException{ //输出Hello World到页面 HttpServletResponse response = ServletActionContext.getResponse(); response.getWriter().write("Hello World"); return null; } }
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!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>第一个struts案例</title> </head> <body> <!-- <c:url value 属性值 var 属性名> </c:url> --> <c:url value="/helloAction" var="url"></c:url> <a href="${url}">sayHello</a> </body> </html>