`
什么世道
  • 浏览: 222430 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Struts2配置

阅读更多

    最近一段时间都在开发网站以及Android app和游戏的后台。在这其中接触到各种框架,为我们的开发带来了不少方便,在这里和各位道友分享一下,希望共同提高。

    其实框架是把简单的事情搞的复杂化了,但是方便了开发者,也增加的可移植性。所以我们在使用框架的时候,不要忘了WEB的根本的通信方式,不管是app的C/S,还是web的B/S。都离不开get/post 请求,离不开request/response 对象,变的只是增添了多层马甲而已。假如这个过程都没有弄清楚,连最基本的servlet数据交互过程都不清楚,那么使用框架就有一点得不偿失了。

    进入正题,Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点:

MVC 2模型的使用

功能齐全的标志库(Tag Library)

开放源代码

 

Struts自身也有不少的缺点:  

需要编写的代码过多,容易引起“类爆炸”

单元测试困难

 

 

这些缺点随着Web的发展越来越明显。这就促生了Struts 2.0

Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。

 

原来我们使用的数据请求Servlet和前台展示页面jsp有极度的耦合性,而struct2恰恰解决了这个问题。如下图

 



 

Servlet的高耦合性。

 



 

Struts2的MVC结构

 

一、搭建开发和运行环境

到Apache下载Struts 2包

http://struts.apache.org/

 

1.下载struts-2.3.16.1-all.zip 文件



2.打开myEclipse新建Web工程

选择Java EE 7.0



 

3.在工程右键build path添加struts2的jar包



 

解压上面下载的zip文件,jar包都在lib文件夹下,需要添加一下Struts的必需jar包



 

4.打开web.xml添加struts2过滤器,后面内容可以参考官方的example。

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <display-name>HelloStruts</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.html</welcome-file>
    </welcome-file-list>
</web-app>

 在2.0以后的版本上有点基础变动,过滤器改为了org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

 

5.新建首页index.jsp,表单使用struts标签

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
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>JSP首页</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">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head> 
  <body>
  <h3>Say "Hello" to:</h3>
    <s:form action="hello">
            Name: <s:textfield name="name" />
		<s:submit />
	</s:form>
  </body>
</html>

 

 

6.新建action处理类

 

package com.yk.struts.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String execute() {
		name = "Hello, " + name + "!";
		return SUCCESS;
	}

}

 

 

7.配置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="hello" class="com.yk.struts.action.LoginAction">
			<result>/hello.jsp</result>
		</action>
	</package> 

	<!-- Add packages here -->

</struts>

 8.新建跳转界面hello.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
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>Action响应界面</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">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head> 
  <body>
        <h3><s:property value="name" /></h3>
    </body>
</html>

 

8.启动tomcat,搞定。



 

 

 

  • 大小: 124.7 KB
  • 大小: 121.5 KB
  • 大小: 226.4 KB
  • 大小: 271.2 KB
  • 大小: 297 KB
  • 大小: 175.1 KB
  • 大小: 71.3 KB
  • 大小: 64.6 KB
0
0
分享到:
评论

相关推荐

    struts2 配置dtd 自动提示

    在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...

    Struts2配置详解

    ### Struts2配置详解 #### 一、总览 在深入了解Struts2的配置细节之前,我们先来简要概述一下Struts2框架的核心特点及其配置文件的基本结构。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...

    SSH笔记_Struts2配置

    总结,Struts2配置涉及多个方面,包括核心库的引入、配置文件的编写、Action、Result、Interceptor的定义以及与Spring的整合等。通过合理配置,可以构建出高效、灵活的Web应用。在实际项目中,应根据需求调整和优化...

    struts2配置文件

    在Struts2中,配置文件主要分为两个部分:`struts-default.xml`和用户自定义的配置文件,如`struts.xml`或`struts-config.xml`。这些XML文件定义了Action、结果类型、拦截器和包等元素,从而控制应用程序的行为。 *...

    struts2配置文件加载顺序

    1. **struts-default.xml**:这是Struts2的核心配置文件,位于`struts2-core.jar`库的`/org/apache/struts2/defaults`包内。它包含了框架的基本设置,如拦截器栈、默认Action配置等。 2. **struts-plugin.xml**:这...

    struts2 配置JSP时需要的jar

    在配置Struts2与Spring的整合时,我们需要`spring-context.jar`、`spring-webmvc-struts.jar`等,它们负责管理Bean、依赖注入以及与Struts2的集成。 5. **Hibernate ORM**:如果项目中使用Hibernate作为持久层框架...

    ·Struts2配置文件介绍 超级详细

    ### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...

    struts2配置文件详细说明

    配置文件在Struts2中起着至关重要的作用,它定义了框架的行为、动作映射、拦截器和其他关键设置。以下是Struts2配置文件的一些核心元素和属性的详细说明: 1. **配置文件结构**: Struts2的配置通常存储在一个名为...

    struts2 Https 配置

    2. **Struts2配置**:在Struts2的应用中,我们需要确保Action请求被重定向到HTTPS。这可以通过在`struts.xml`配置文件中使用`&lt;constant&gt;`标签设置`struts.action.excludePattern`属性来实现。 ```xml ...

    struts2 配置文件

    ### Struts2 配置文件详解 #### 一、引言 在Struts2框架的应用开发过程中,配置文件起到了至关重要的作用。Struts2主要依赖于两种基于XML的配置文件:`web.xml` 和 `struts-config.xml`(通常命名为 `struts.xml`)...

    struts2配置文件改变位置问题

    在Struts2中,`struts.xml`文件是核心配置文件,它定义了动作、结果、拦截器等关键组件。在默认情况下,`struts.xml`通常位于`src/main/resources`或在Web应用中是`WEB-INF/classes`目录下。 在描述的问题中,...

    struts2配置文件传值中文乱码

    本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助开发者有效解决中文乱码问题,提升用户体验。 ### Struts2框架简介 Struts2是Apache组织下的一个开源...

    Struts2 配置文件手册

    配置文件在Struts2框架中起着至关重要的作用,它们定义了框架的行为、拦截器、对象工厂以及各种组件的配置。下面将详细介绍Struts2配置文件中的关键元素。 1) **struts-default.xml**: 这是Struts2框架默认加载的...

    Struts2 配置文件

    配置SSH框架时关于Struts2的配置文件

    struts2配置文件详解

    ### Struts2配置文件详解 #### 一、引言 在Java Web开发中,Struts2框架因其灵活性和强大的功能而被广泛采用。Struts2框架的配置主要通过多个XML文件来实现,这些配置文件定义了应用程序的行为和结构。本文将详细...

    struts2配置环境需要的jar包

    2. **插件库**:Struts2提供了一系列插件,如`struts2-convention-plugin.jar`(用于自动配置)和`struts2-dojo-plugin.jar`(提供dojo相关的UI组件)。这些插件可以按需选择并添加到lib目录。 3. **依赖的第三方库...

    struts2配置示例

    这个“struts2配置示例”提供了一个基础的实现,展示了如何配置Struts2框架来处理用户的登录功能,使用OGNL(Object-Graph Navigation Language)表达式语言,并实现后台验证。下面我们将深入探讨这些关键知识点。 ...

Global site tag (gtag.js) - Google Analytics