mac下 Struts2 第一个程序的详细步骤(附带源码链接)

mac下 Struts2 第一个程序的详细步骤

1.新建web工程

(1) 打开MyEclipse 2015,选择File->New->Web Porject 菜单,新建一个web project。

(2)配置Project信息

填写工程名字myFirstStrust2WebProject,选择默认项目存放路径,选在javaEE 6版本。

选择下一步,再下一步,选择默认创建默认首页index.jsp和web.xml(web.xml文件作用)文件,这两个文件也可以后来添加,然后选择完成。

2.下载struts2框架

去 struts2下载链接 ,选中all链接,下载struts2文件包。解压该文件,得到struts-2.3.24文件夹,下有apps文件夹(存放Struts2的一些示例程序),docs文件夹(存放Struts2的参考文档),lib文件夹(存放Struts2的jar包),src文件夹(存放Struts2的源代码)。

解压该文件,得到struts-2.3.24文件夹,下有apps文件夹(存放Struts2的一些示例程序),docs文件夹(存放Struts2的参考文档),lib文件夹(存放Struts2的jar包),src文件夹(存放Struts2的源代码)。

lib文件夹存放Struts2的所有jar包,我们只需要挑出来必须要用的11个jar包就可以了。

3.在工程中引入struts2框架

把上一步选出的11个jar包放到工程的lib文件下。

在MyEclipse Explorer中,选中项目,右键,Build Path->Configure Build Path

4.配置第一个Struts2框架web程序

1添加model类

添加myStruts2Model类,代码如下:

package myFirstStrust2WebProject.Model;

public class myStruts2Model {
	private String message;

	public myStruts2Model( ) {
		super();
		this.message = "this my first Struts2WebProject";
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

}

2 添加action类

添加myStruts2Action类,代码如下:

package myFirstStrust2WebProject.Action;

import myFirstStrust2WebProject.Model.myStruts2Model;

import com.opensymphony.xwork2.ActionSupport;

public class myStruts2Action extends ActionSupport {
     /**
	 *
	 */
	private static final long serialVersionUID = 1L;
	private myStruts2Model myModel;

	public String execute() throws Exception {
		myModel = new myStruts2Model() ;
		return "success";
	}
	public myStruts2Model getMyModel() {
		return myModel;
	}
	public void setMyModel(myStruts2Model myModel) {
		this.myModel = myModel;
	}

}

3在WebRoot下添加jsp文件

添加myFirstStruts2Web.jsp,内容如下:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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=ISO-8859-1">
<title>myFirstWebStructs2Web!</title>
</head>
<body>
    <h2><s:property value="myModel.message" /></h2>
</body>
</html>

4.添加struts.xml

在解压好的文件夹里找到struts-2.3.24/apps/struts2-blank/WEB-INF/src/java/struts.xml,复制到项目struts2-blank的src下,并做修改,Myeclipse会自动将struts.xml布署到WEB-INF\classes下的。

<pre name="code" class="html"><?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.devMode" value="true" />

	<package name="basicstruts2"  extends="struts-default">
		<action name="myFirstStruts2" class="myFirstStrust2WebProject.Action.myStruts2Action" method="execute">
			<result name="success">/myFirstStruts2Web.jsp</result>
		</action>
	</package>
</struts>

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

struts.devMode也就是struts的开发模式,默认值为false,改为true就是以后一旦就改这个文件中的配置就不用去重启tomcat

<action name="<span style="color: rgb(57, 51, 255); font-family: Monaco; font-size: 11px;">myFirstStruts2</span>">

struct.xml
-> 找到对应的class -> 实例化对象 -> 执行对应的execute()方法

执行过程:

读到xml -> action是class -> 找到class对象(每次访问必须new一个对象) ->

当不配置class的时候,默认的class是ActionSupport。

ActionSupport源

public String execute() throws Exception {

return SUCCESS;

}

最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法。

5添加struts2 Filter

找到项目的“web.xml”文件,然后在web.xml文件中加入Struts2
Filter的配置信息:

<pre name="code" class="html"><?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>myFirstStrust2WebProject</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <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>*.action</url-pattern>
  </filter-mapping>
</web-app>

通过配置这个Filter,启动Struts框架,StrutsPrepareAndEXecuteFilter()方法中将会读取类路径下的默认文件struts.xml完成初始化操作。Struts将struts.xml文件内容,以javabean的形式存放在内存中,从而不必重复读取struts.xml文件。

6. 重写index.jsp

重写index.jsp,内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>

  <body>
     <a href="<%=basePath%>myFirstStruts2.action">我的第一个struts2程序</a>
</body>
</html>

5运行程序

部署到tomcat,运行查看结果。

工程源码链接

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-15 10:14:11

mac下 Struts2 第一个程序的详细步骤(附带源码链接)的相关文章

mac下dashboard小控件开发实例(附源码)

1.背景 用mac的用户都应该知道,mac有一个很好的功能,就是dashboard小控件的功能,按下F12键就可以自由切换.博主最近在背GRE单词,就尝试这开发了一个背单词的dashboard小控件.效果如图 2.步骤 (1)安转dashcode 这个是开发工具,用起来有点像xcode, 下载地址:https://developer.apple.com/downloads/index.action (2)打开dashcode,新建项目 打开右上角的资源库,可以随意拖拉控件在里面.然后右键需要添加

史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)

目录 前言: 1. 搭建整合环境 2.Spring框架代码的编写 3.SpringMVC框架代码的编写 4. Spring整合SpringMVC的框架 5.MyBatis框架代码的编写 6. Spring整合MyBatis框架 7.spring整合mybatis框架配置事务(Spring的声明式事务管理) 8.源码.源码.源码~重要的标题发三遍 前言: 网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时

SSO CAS单点登录搭建详细步骤及源码

1.因为是本地模拟sso环境,而sso的环境测试需要域名,所以需要虚拟几个域名出来,步骤如下: 2.进入目录C:\Windows\System32\drivers\etc 3.修改hosts文件 127.0.0.1 jeesz.cn 127.0.0.1 sso1.jeesz.cn 127.0.0.1 sso2.jeesz.cn 4.生成认证证书 注意:我们可以根据sso单点登录的架构图可以看到,在客户端和服务端进行交互的时候,是需要认证的,在这里我们使用jdk中的keytool方案生成证书(一般

使用VS2010写下的第一个程序

用VS2010写下的第一个程序 安装 下载 Microsoft Visual Studio 2010 中文旗舰版: 下载 Microsoft Visual Studio 2010 中文旗舰版 SP1升级包: 使用精灵虚拟光驱(Daemon Tools)来安装,安装之前先关闭防护软件,如360或QQ管家等等. 步骤如下: 打开VS2010,点击文件:→新建→项目[快捷键:Crtl+Shift+N]; 点击Win32→Win32控制台应用程序→名称(输入项目名称如:CProject),点击确定: 点

图文介绍windows下实现编译ffmpeg工程的详细步骤

本文来自:http://www.cuplayer.com/player/PlayerCode/FFmpeg/2014/0706/1401.html 图文介绍windows下实现编译ffmpeg工程的详细步骤: 1.搭建 MinGW 的编译环境 下载yasm,地址:http://yasm.tortall.net/Download.html 改名为yasm.exe放到C:\WINDOWS\system32 或者 C:\MinGW\msys\1.0\bin文件夹下. 下载 mingw-get-inst

门店小程序开发全过程(附源码)

说到微信小程序的创立初衷,线下门店绝对是应用的大场景,也符合小程序"用完即走"的理念.从这一两年的发展来看,多个小程序爆款也出自门店小程序,如周黑鸭.星巴克以及奶茶店小程序等等.门店小程序的研发需求和使用需求都很大,下边我们就具体讲讲门店小程序的应用场景及研发过程. 一.场景 场景化消费的同时,用户可扫描桌上的二维码,快速展现小程序系统 浏览购买小程序提供的线上服务 留存用户,后期可与用户线上互动,增强用户粘性 即:通过线下导流到线上,线上购买服务,线下体验和享受服务,通过小程序完美实

android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码

Android精选源码 仿微信打开红包旋转动画 使用Kotlin编写的Android应用,内容你想象不到 Android手机上的免Root Android系统日志Viewer 一个能让微信 Material Design 化的 Xposed 模块 仿最新版微信 Rxjava+Retrofit+MVP+Glide 技术开发 android一键清理/内存加速,缓存清理,自启管理,软件管理 android打造酷炫下拉视差效果并解决各种滑动冲突源码 android实现UC浏览器首页滑动动画实现 andr

MAC下搭建及使用XAMPP的详细教程

Windows和Linux都可以搭建本地伺服器(LAMP和IIS),Mac當然也可以,下面教你怎麼使用XAMPP在Mac下搭建一個功能齊全的本地伺服器 所需條件 1.Mac系統(廢話) 2.最好有可用的網絡(當然你在沒網絡時也能使用) 3.沒咯 一.安裝XAMPP 1.下載安裝文件,官網地址:「www.apachefriends.org」 2.直接打開下載文件,並且把左邊的文件夾拖到「應用程式」文件夾 3.從「Launchpad」打開「XAMPP Control」這個程序,然後把「Apache」

微信小程序实现左滑删除源码

左滑删除效果在app的交互方式中十分流行,比如全民应用微信 微信左滑删除 再比如曾引起很大反响的效率app Clear Clear左滑删除 从技术上来说,实现这个效果并不困难,响应一下滑动操作,移动一下组件,再加上些坐标计算,状态记录就可以了.也有一些文章介绍了在小程序上如何实现这一效果,不过我基本可以确定这些开发者没有在真机上详细测试,因为经我实践发现,在小程序上想要完美实现这个效果几乎是不可能完成的任务. 这一切要从小程序的事件机制说起.对于滑动类操作,小程序提供了bind和catch两种响