Struts2系列:入门

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方法。

时间: 2024-10-29 16:07:08

Struts2系列:入门的相关文章

Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】

Laravel 5 系列入门教程(一)[最适合中国人的 Laravel 教程] 分享⋅ johnlui⋅ 于 2年前 ⋅ 最后回复由 skys215于 11个月前 ⋅ 17543 阅读 原文发表在我的个人网站:Laravel 5 系列入门教程(一)[最适合中国人的 Laravel 教程] 本教程示例代码见:https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码. Laravel 5 中文文档: http://

Struts2 第二讲 -- Struts2的入门

搭建struts2环境时,我们一般需要做以下几个步骤的工作: 第一步:创建javaweb工程(这个很废话有木有) 第二步:找到开发Struts2应用需要使用到的jar文件.(这个很白痴有没有) 到http://struts.apache.org/download.cgi#struts2514.1下载struts-2.x.x-all.zip,最新的版本为2.5.14.下载完后解压文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下.不同的应用需要的JAR包是不同的.下面给出了

【SSH框架】之Struts2系列(一)

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系 1.Struts2框架概述 (1).什么是Struts2 Struts2是一种基于MVC模式的轻量级web框架,本质上相当于一个servlet.在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互,以WebWork为核心,采用拦截器机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离,是致力于组件化和代码重用的J2EE Web框架. (2).Struts2

2016 版 Laravel 系列入门教程

2016 版 Laravel 系列入门教程 (1) - (5) http://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-cheng-yi/ http://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-cheng-er/ http://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-

【SSH框架】之Struts2系列(二)

微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联 1.Struts2常量配置 (1).Struts2默认常量配置文件路径,如下图: (2).Struts2常量配置方式:以配置国际化字节编码UTF-8为例 方式1:在struts.xml文件中配置 <constant name="struts.i18n.encoding" value="UTF-8"></constant> 方式2:在src下创建

【java开发系列】—— struts2简单入门示例

前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码. 过去,我们用jsp和servlet搭配,实现展现时,大体的过程是: 1 jsp触发action 2 servlet接受action,交给后台class处理 3 后台class跳转到其他的jsp,实现数据展现 现在有了stru

用AngularJS开发下一代Web应用 系列入门基础教程

开篇介绍 AngularJS是什么东西?我觉得不用再描述了.可自行去充电一下.按照惯例,让我们先看看一个Hello World的开门简介吧. <!doctype html> <html ng-app> <head> <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> </head> <body> Your name

Struts2系列:(3)Action的访问路径和缺省后缀

在第(1)节"入门"的时候,做了一个简单的案例. 在第(2)节"Struts配置文件",对struts.xml文件中的package.action和result进行了简单介绍. 在本节中,则对struts.xml中的配置和uri之间的映射做一个介绍. 1.Action访问路径 struts2中,调用action的URL路径= 包的命名空间+"/"+action的名称 例如: 访问StudentAction的URL路径为: /test/studen

深入分析JavaWeb 43 -- Struts2开发入门

一.Struts2概述 1.Struts2是什么? Struts2是一个M(模型-域–范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品.提高开发效率. Struts1是一个MVC框架,非常流行.有很大的缺点.此时一个webwork的框架设计超前,名气不是很大.Struts1+webworkd=struts2.用的是struts1的名字,但是与sruts1没啥关系,struts2的核心是webwork框架. 2.Struts2能干什么? web开发Strust2 核心功能