多个配置文件安模块划分

01:导包配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <!-- 01:启动struts2框架 -->
    <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>

02:编写action类

package com.self.action;
/**
 * 02:写相应的处理方法
 */
public class HelloWorldAction {

    private String message;

    public String dohelloworld(){
        return "doresult";
    }

    //为属性注入值,需要提供set方法
    public void setMessage(String message) {
        this.message = message;
    }
    //在页面显示值,需要get方法
    public String getMessage() {
        return message;
    }

}

03:配置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>
	<!-- 01:将.action访问,改为.do -->
	<constant name="struts.action.extension" value="do"></constant>
	<!-- 02:指定默认编码,相当于HttpServletRequest的setCharacterEncoding方法,也作用于freemarker、velocity的输出 -->
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>

	<include file="department.xml"/>
	<include file="employ.xml"/>
</struts>

  

04:编写department.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="dep" namespace="/department" extends="struts-default">
		<action name="helloworld" class="com.self.action.HelloWorldAction" method="dohelloworld" >
			<param name="message">department</param>
			<result name="doresult">
				/showresult.jsp
			</result>
		</action>
	</package>
</struts>

  

  

05:编写employ.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="emp" namespace="employ" extends="struts-default">
		<action name="helloworld" class="com.self.action.HelloWorldAction" method="dohelloworld" >
			<param name="message">employ</param>
			<result name="doresult">
				/showresult.jsp
			</result>
		</action>
	</package>
</struts>

  

06:编写页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>

<title>显示</title>
</head>

<!-- 第4步:显示 -->
<body>
	<BR>
	<BR>
	<center>
		将页面放在WEB-INF下面,这样用户直接访问不到<BR> <BR> 为action的属性注入值: ${message}
		<BR>
	</center>
</body>
</html>

  

07:访问路径1<http://localhost:8080/Struts2_01/employ/helloworld.do>

  显示结果1:employ

08:访问路径2<http://localhost:8080/Struts2_01/department/helloworld.do>

  显示结果2:department

时间: 2024-10-11 05:46:34

多个配置文件安模块划分的相关文章

angularJs项目实战!01:模块划分和目录组织

近日来我有幸主导了一个典型的web app开发.该项目从产品层次来说是个典型的CRUD应用,故而我毫不犹豫地采用了grunt + boilerplate + angularjs + bootstrap + D3 + requirejs 的架构来实现它.angularjs早在去年6月份我就有所接触,将它应用在实验室项目的个别页面中,11月份在新浪的时候也将其推荐给了所在云事业部项目组.项目组老大程辉等人都是很有技术敏感性的人,大胆地采纳了我的建议,将之应用于原本使用dojo开发的项目前端模块上.然

按照模块划分进行分工

上次按照模块划分所设计的UML图如下. 经小组讨论,我们可以按照模块进行开发,最后再将这些模块进行组合.具体分工如下: 解安琪和潘雨婷: 负责查找地铁线路表和价格.包括站名和站与站之间的里程,里程的计算方法. 张博闻: 将线路表和价格的数据,整理成可移植的数组形式,并实现各自的方法封装成一个模块. 汪梦萱和张郁竹: 负责路程规划模块,在没整合上线路模块和价格模块前,主要实现计算最短里程的方法(拓展:最少倒站的乘车方案). 王宜鸣: 利用QT,制作软件的UI界面.包括实现与路程规划和价格计算的接口

Ionic2实战——按模块划分app 创建多module

http://www.jianshu.com/p/d94324b722af 背景 用ionic2开发过一两个小功能的朋友都会发现,每新建一个页面都需要在\src\app\app.module.ts中添加页面对应的class 当app页面很多时都会感觉比较乱,分不清哪跟哪.更让人接受不了的是当多人同时开发,经常修改app.module.ts,会经常造成代码冲突 所以我们需要把页面按模块再细分 代码结构 我的app按功能分了4个子模块,分别为contact.home.login和mine.具体代码结

全局变量与类似配置文件的模块文件

# -*- coding: cp936 -*- #python 27 #xiaodeng #全局变量 #重点问题: 1)函数调用的先后顺序导致结果不同 2)使用类似于配置文件的模块文件控制全局变量和控制变量的修改等操作 在文件之间进行通信的最好办法是通过调用函数,传递参数,然后得到返回值 虽然一定程度上,会增加代码量,但是可读性和维护性上会变得非常友好 当人们在阅读第一个文件时,就会看到这个函数,就知道这是一个接口(接入点),并知道将改变变量x的值 当然,我们依然还是要最小化的修改文件之间的变量

模块划分方法

一.模块划分概述 模块划分,顾名思义是指模块的划分.但是,明德扬提出的模块划分,是广义的"模块划分".后续所提及的"模块划分",不单单指模块的划分,还包括模块划分好后,模块的端口及模块之间数据流向的确定. 二.模块划分原则 明德扬的模块划分原则有两条: 原则一:一个功能一个模块. 按功能划分模块是模块划分最基本的指导思想,当我们拿到一个项目后,最直接的想法就是先确定项目需要多少小功能为之服务,然后把一个个功能实现,最后通过顶层模块的例化,完成项目要求. 原则二:相同

python解析配置文件---configparser模块

1.configparser模块介绍 configparser是用来读取配置文件的模块,配置文件格式为:中括号"[ ]"内包含的为section.section 下面为类似于key-value 的配置内容. a.conf的文件内容如下: [user01] name = user01 is_admin = True age = 34 passwd = user123456 [yxwang] name = yxwang age = 25 passwd = 123456 取值: import

PCB的EMC设计中电路的模块划分及布局

PCB上模块的划分和关键器件的布局在PCB的EMC设计中有至关重要的作用.PCB上的各功能模块如频率生成器.电源模块.滤波器和晶振等PCB上的位置和方向对电磁场的发射和接收有巨大的影响.PCB上的器件可以根据 不同的标准进行划分,如按照功能.工作频率.信号类型等. 1.按照功能划分.各电路按照实现功能的不同如时钟电路.放大电路.驱动电路.A/D D/A转换电路.I/O电路.开关电源电路和滤波电路等进行模块划分.在进行PCB设计时可以根据信号流对整个电路进行模块划分,从而保证整个电路布局的合理,达

模块划分常用架构

总结出来五个常用的模块交互架构,读者在进行项目设计时,可结合明德扬模块划分原则,参照"模块划分常用架构"进行模块划分. §6.1 直接交互架构 直接交互不需要模块B反馈,模块A直接发送数据.一般应用于下游模块处理速率高于上游模块发送速率的场景.框图如图6-1. 图6-1 直接交互架构 直接交互架构的典型应用是4.2.1项目一:包文汇聚模块.其系统框图见图6-2. 图6-2 包文汇聚模块模块划分框图 在此项目中,网口A,B,C作为上游模块其工作时钟分别是40MHz.20MHz.10MHz

webApp开发-angular1+ 功能模块划分

js: 控制器命名app.js定义的带路由的控制器,子页面里单独声明的控制器 app_demoCtr page_demoCtr 服务命名.factory('common',function($state,$ionicHistory,$ionicScrollDelegate){return{init: function($scope){},}}) 公共函数使用(angular1):刷新(加载),返回,跳转,下拉服务类 发送短信验证码服务 调用接口服务 文件读取服务 图片缓存服务 服务+$ionic