码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2系列:入门

时间:2016-06-21 08:05:13      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:struts


1、Struts简介和下载


Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It favors convention over configuration(约定大于配置), is extensible(可扩展) using a plugin architecture, and ships with plugins to support REST, AJAX and JSON.


1.1、Struts官网

http://struts.apache.org/


技术分享


1.2、Struts下载

http://struts.apache.org/download.cgi

在这里,我下载的是2.3.29版本,下载了两个,分别是:struts-2.3.29-all.zip和struts-2.3.29-min-lib.zip。

struts-2.3.29-all.zip里面的内容比较全。

但是在做下面的入门案例的时候,只要有struts-2.3.29-min-lib.zip就可以了。

技术分享

2、Struts入门


基本步骤:

    (1)引入jar包(配置环境)

    (2)在WEB-INF/web.xml文件中添加配置

    (3)在src目录下添加struts.xml文件

    (4)添加自己的HelloWorld类,继承ActionSupport类,覆写父类的execute()方法。

    (5)在struts.xml文件中对HelloWorld类进行注册

    (6)创建相关的JSP页面

    (7)部署网站,并进行访问


2.1、引入jar包

解压struts-2.3.29-min-lib.zip文件,得到所有需要的jar包。

技术分享

将所有的jar拷贝到WEB-INF/lib目录下。

技术分享


2.2、web.xml文件中添加配置

需要添加的配置如下:

    <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>


完整的web.xml文件如下:

<?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>


2.3、在src目录下添加struts.xml文件

技术分享


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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

</struts>


2.4、添加自己的HelloWorld类

技术分享


HelloWorld.java的代码如下:

package com.rk.struts2.a_basic;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport
{

	public HelloWorld()
	{
		System.out.println("我是HelloWorld类的构造方法!");
	}
	
	@Override
	public String execute() throws Exception
	{
		return "success";
	}

}


注意:在execute方法中返回了"success"字符串,在下一步中会用到"success"方法。



2.5、在struts.xml文件中对HelloWorld类进行注册

添加的配置如下:

    <package name="default" namespace="/" extends="struts-default">
        <action name="HelloWorld" class="com.rk.struts2.a_basic.HelloWorld">
            <result name="success">
                /Success.jsp
            </result>
        </action>
    </package>

在上面的配置中,关注的重点是action标签内配置:当result的name为"success"时,就跳转到/Success.jsp页面(在后面会添加Success.jsp文件)

完整的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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
        <action name="HelloWorld" class="com.rk.struts2.a_basic.HelloWorld">
            <result name="success">
                /Success.jsp
            </result>
        </action>
    </package>

</struts>


2.6、创建相关的JSP页面

在WebRoot目录下,添加Success.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>Hi</title>
</head>
<body>
	你好啊!!!
</body>
</html>



2.7、部署网站,并进行访问

将网站进行部署

技术分享


然后访问网站:

http://localhost:8080/ssh/HelloWorld.action

会看到如下结果:

技术分享

多次访问后,在MyEclipse的Console窗口中可以看到如下输出:

技术分享

“我是HelloWorld类的构造方法!”进行了多次输出,这就表明一件事:每次请求,都会创建一个HelloWorld类的对象。在这一点上,它和Servlet是不同的:Servlet只创建一个实例,在第一次访问时创建,后续访问,只调用它的的service方法。





Struts2系列:入门

标签:struts

原文地址:http://lsieun.blog.51cto.com/9210464/1791218

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!