Struts初始--环境搭建

一、搭建Struts2的开发环境:

1、建立一个JavaWeb应用

2、获取Struts2的开发包

比如已经下载好的struts-2.3.7-all.zip版本,也可以去官网struts.apache.org下载最新版本

3、拷贝运行Struts2必要的jar包(参考发行包\apps\struts2_blank.war

 

4、在classpath下建立一个名为struts.xml的配置文件(暂时只要根元素即可)

Struts初始--环境搭建_第1张图片

<?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、配置核心过滤器

 Struts初始--环境搭建_第2张图片

<?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项目:HelloWorld

注意的事项:

在没有联网的情况下,编写struts.xml文件时,没有代码提示信息:

解决方法:

首先将dtd文件拷贝到项目中去(一般我们在项目中建立目录WEB-INF/dtd)

寻找struts-2.3.dtd文件方法如下:

Struts初始--环境搭建_第3张图片

然后拷贝struts.xml目录中dtd的路径

http://struts.apache.org/dtds/struts-2.0.dtd

最后在MyEclipse中设置:

Windows-->preferences-->MyEclipse-->XML-->XML Ctatlog-->add

 

包结构:

Struts初始--环境搭建_第4张图片

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>


你可能感兴趣的:(struts2.0)