Struts2:structs.xml配置

Struts2的struts.xml配置详细介绍 解析: constant元素: 配置常量,可以改变Struts 2框架的一些行为 name属性表示常量名称,value属性表示常量值 package元素: 包的作用:简化维护工作,提高重用性 包可以“继承”已定义的包,并可以添加自己包的配置 name属性为必须去且唯一,用于指定包的名称 extends属性指定要扩展的包,一般扩展struts-default包 namespace属性定义该包中action的命名空间(可选) action元素: name属性:映射名称 class:类的完整路径 method:方法名,默认使用的execute()方法 result元素: name属性:默认为succ 立即下载

struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件。

一下分别介绍一下几个struts.xml中常用到的标签

1、<include>

利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。

比如一个网上购物程序,可以把用户配置、商品配置、订单配置分别放在3个配置文件user.xml、goods.xml和order.xml中,然后在struts.xml中将这3个配置文件引入:

struts.xml:

?

1

2

3

4

5

6

7

8

9

10

<?xmlversion="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>

    <includefile="user.xml"/>

    <includefile="goods.xml"/>

    <includefile="order.xml"/>

</struts>

 

user.xml:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?xmlversion="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>

    <packagename="wwfy"extends="struts-default">

        <actionname="login"class="wwfy.user.LoginAction">

            <!--省略Action其他配置-->

        </action>

        <actionname="logout"class="wwfy.user.LogoutAction">

            <!--省略Action其他配置-->

        </action>

    </package>

</struts>

 

2、<constant>

在之前提到struts.properties配置文件的介绍中,我们曾经提到所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。而在struts.xml中,是通过<constant>标签来进行配置的:

?

1

2

3

4

5

6

7

8

9

10

11

12

<?xmlversion="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>

    <!--设置开发模式-->

    <constantname="struts.devMode"value="true"/>

    <!--设置编码形式为GB2312-->

    <constantname="struts.i18n.encoding"value="GB2312"/>

    <!--省略其他配置信息-->

</struts>

 

3、<package>

1、包属性介绍

在Struts2框架中是通过包来管理action、result、interceptor、interceptor-stack等配置信息的。包属性如下:

属性

是否必需

描述

name是包名,作为其它包应用本包的标记
extends否设置本包继承其它包
namespace否设置包的命名空间
abstact否设置为抽象包

 

2、extends属性的详解

  • 当一个包通过配置extends属性继承了另一个包的时候,该包将会继承父包中所有的配置,包括action、result、interceptor等。
  • 由于包信息的获取是按照配置文件的先后顺序进行的,所以父包必须在子包之前被定义。
  • 通常我们配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包。

 

3、namespace的详解

namespace主要是针对大型项目中Action的管理,更重要的是解决Action重名问题,因为不在同一个命名空间的Action可以使用相同的Action名的。

1)如果使用命名空间则URL将改变

比如我们有一下配置文件

?

1

2

3

4

5

<packagename="wwfy"extends="struts-default">

    <actionname="login"class="wwfy.action.LoginAction">

        <result>/success.jsp</result>

    </action>

</package>

 

则此配置下的Action的URL为http://localhost:8080/login.action

 

假如为这个包指定了命名空间

?

1

2

3

4

5

<packagename="wwfy"extends="struts-default"namespace="/user">

    <actionname="login"class="wwfy.action.LoginAction">

        <result>/success.jsp</result>

    </action>

</package>

 

则此配置下的Action的URL为http://localhost:8080/user/login.action

2)默认命名空间

Struts2中如果没有为某个包指定命名空间,该包使用默认的命名空间,默认的命名空间总是""。

3)指定根命名空间

当设置了命名空间为“/”,即指定了包的命名空间为根命名空间时,此时所有根路径下的Action请求都会去这个包中查找对应的资源信息。

假若前例中路径为http://localhost:8080/login.action则所有http://localhost:8080/*.action都会到设置为根命名空间的包中寻找资源。

 

4、<action>与<result>

1、<action>属性介绍

属性名称

是否必须

功能描述

name是请求的Action名称
class否Action处理类对应具体路径
method否指定Action中的方法名
converter否指定Action使用的类型转换器

如果没有指定method则默认执行Action中的execute方法。

2、<result>属性介绍

属性名称

是否必须

功能描述

name否对应Action返回逻辑视图名称,默认为success
type否返回结果类型,默认为dispatcher

 

3、通配符的使用

随着result的增加,struts.xml文件也会随之变得越来越复杂。那么就可以使用通配符来简化配置:

例如下面这个案例:

Action为Test.java

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

public class Test {

    publicString test1(){

        return"result1";

    }

      

    publicString test2(){

        return"result2";

    }

      

    publicString test3(){

        return"result3";

    }

}

 

struts.xml中配置为

?

1

2

3

4

5

<packagename="wwfy"extends="struts-default">

    <actionname="test*"class="wwfy.action.test{1}">

        <resultname="result{1}">/result{1}.jsp</result>

    </action>

</package>

4、访问Action方法的另一种实现方式

在Struts2中如果要访问Action中的指定方法,还可以通过改变URL请求来实现,将原本的“Action名称.action”改为“Action名称!方法名称.action”在struts.xml中就不需要指定方法名了。

 

5、<exception-mapping>与<global-exception-mapping>

这两个标签都是用来配置发生异常时对应的视图信息的,只不过一个是Action范围的,一个是包范围的,当同一类型异常在两个范围都被配置时,Action范围的优先级要高于包范围的优先级.这两个标签包含的属性也是一样的:

属性名称

是否必须

功能描述

name否用来表示该异常配置信息
result是指定发生异常时显示的视图信息,这里要配置为逻辑视图
exception是指定异常类型

 

两个标签的示例代码为:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?xmlversion="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>

    <packagename="default"extends="struts-default">

        <global-exception-mappings>

            <exception-mappingresult="逻辑视图"exception="异常类型"/>

        </global-exception-mappings>

        <actionname="Action名称">

            <exception-mappingresult="逻辑视图"exception="异常类型"/>

        </action>

    </package>

</struts>

 

6、<default-class-ref>

当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。在Struts2框架中,系统默认的class为ActionSupport,该配置我们可以在xwork的核心包下的xwork-default.xml文件中找到。

有特殊需要时,可以手动指定默认的class

?

1

2

3

4

5

6

7

package wwfy.action;

  

public class DefaultClassRef {

    publicvoid execute(){

        System.out.println("默认class开始执行……");

    }

}

 

在struts.xml中配置

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?xmlversion="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>

    <packagename="wwfy"extends="struts-default">

        <!-- 指定默认class为Test -->

        <default-class-refclass="wwfy.action.DefaultClassRef"/>

        <actionname="test1">

            <result>/index.jsp</result>

        </action>

    </package>

</struts>

 

7、<default-action-ref>

如果在请求一个没有定义过的Action资源时,系统就会抛出404错误。这种错误不可避免,但这样的页面并不友好。我们可以使用<default-action-ref>来指定一个默认的Action,如果系统没有找到指定的Action,就会指定来调用这个默认的Action。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?xmlversion="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>

    <packagename="wwfy"extends="struts-default">

          

        <default-action-refname="acctionError"></default-action-ref>

        <actionname="acctionError">

            <result>/jsp/actionError.jsp</result>

        </action>

    </package>

</struts>

 

8、<default-interceptor-ref>

该标签用来设置整个包范围内所有Action所要应用的默认拦截器信息。事实上我们的包继承了struts-default包以后,使用的是Struts的默认设置。我们可以在struts-default.xml中找到相关配置:

?

1

<default-interceptor-refname="defaultStack"/>

 

在实际开发过程中,如果我们有特殊的需求是可以改变默认拦截器配置的。当时一旦更改这个配置,“defaultStack”将不再被引用,需要手动最加。

 

9、<interceptors>

通过该标签可以向Struts2框架中注册拦截器或者拦截器栈,一般多用于自定义拦截器或拦截器栈的注册。该标签使用方法如下:

?

1

2

3

4

5

6

<interceptors>

    <interceptorname="拦截器名"class="拦截器类"/>

    <interceptor-stackname="拦截器栈名">

        <interceptor-refname="拦截器名">

    </interceptor-stack>

</interceptors>

 

10、<interceptor-ref>

通过该标签可以为其所在的Action添加拦截器功能。当为某个Action单独添加拦截器功能后,<default-interceptor-ref>中所指定的拦截器将不再对这个Action起作用。

 

11、<global-results>

该标签用于设置包范围内的全局结果集。在多个Action返回相同逻辑视图的情况下,可以通过<global-results>标签统一配置这些物理视图所对应的逻辑视图。

?

1

2

3

4

5

6

7

8

9

10

11

12

<?xmlversion="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>

    <packagename="wwfy"extends="struts-default">

        <global-results>

            <resultname="test">/index.jsp</result>

        </global-results>

    </package>

</struts>

32、运算放大器的工作原理与应用 本文详细介绍了运算放大器的工作原理与多种应用场景,涵盖开环与闭环放大器的基本概念、理想运算放大器的特性及其‘黄金规则’。文章深入解析了反相放大器、同相放大器、单位增益跟随器与反相器的配置和增益计算,并探讨了电压比较器及窗口比较器的工作机制。同时提供了运算放大器在实际应用中的选型流程、使用注意事项以及常见故障排查方法,帮助读者全面掌握运算放大器的设计与应用要点。 阅读详情

相关推荐

视觉辅助RIS波束追踪:用摄像头“看见”用户,实现毫秒级波束对准

在无线通信领域,波束成形技术是提升高频段信号覆盖与质量的核心手段,其原理是通过调整天线阵列的相位,使信号能量在特定方向相干叠加,形成高增益定向波束。这项技术的价值在于能有效克服高频信号路径损耗大、穿透性差的瓶颈,广泛应用于5G/6G、毫米波通信及室内定位等场景。然而,传统波束追踪依赖信道估计或波束扫描,存在训练开销大、实时性差的问题。本文聚焦于一种创新解决方案:将计算机视觉与可重构智能表面(RIS)相结合。通过摄像头直接感知用户位置,并利用RIS快速重构反射波束方向,实现了近乎零开销、毫秒级延迟的波束追踪,

weixin_33552698的博客 620

struts.xml配置文件详解

Struts2框架的核心配置文件是struts.xml文件,该文件主要用来配置Action和请求间的对应关系。 一、&lt;package&gt;的配置 Struts2框架的核心组件是Action和拦截器,它使用包来管理Action和拦截器。每个包就是多个Action、多个拦截器、多个拦截器引用的集合。在struts.xml文件中,package元素用于定义包配置,package元素常用的属性...

Java学习 6549

802.1AS时间同步机制深度解析:从Sync报文到多域冗余设计

本文深度解析了802.1AS时间同步机制,从Sync与Follow_Up报文的核心交互原理入手,详细阐述了其如何通过精确的时钟频率比测量、链路延迟计算和驻留时间补偿来实现微秒乃至纳秒级同步。文章进一步探讨了802.1AS-2020版本引入的多时钟域冗余设计,为构建高可靠的车载TSN网络提供了关键见解和实战配置指南。

pytorch8learner的博客 460

Struts.xml文件详解

一、Struts.xml文件    Struts.xml文件构成 如图,《Struts》标签内共有5个子标签。 1.1  struts-default.xml  查看Struts的内容可知,Struts的默认包“default”是继承于"Struts-dafault"包的,struts-default包是在struts-default.xml中定义,struts-default.xml也...

qq_36473318的博客 1275

LLC谐振变换器设计实战:从工作原理到参数设计与调试

开关电源设计是电力电子领域的核心技术,其核心目标在于提升效率与功率密度。为实现这一目标,软开关技术应运而生,它通过精心控制开关器件的电压与电流波形,使其在开通或关断瞬间实现零电压或零电流切换,从而从根本上降低开关损耗。LLC谐振变换器正是这一技术的杰出代表,它通过引入谐振网络,巧妙地实现了主开关管的零电压开关和次级整流管的零电流开关。这种拓扑结构在服务器电源、通信设备及高端显示驱动等要求高效率、高功率密度的应用场景中价值显著。本文将以半桥LLC为例,深入剖析其工作模态与增益特性,并系统阐述其参数设计、仿真验

weixin_34129696的博客 561

YOLOv8中间特征层可视化

在通过观察这些特征,可以清楚地看到模型如何逐步将输入图像转化为有意义的表示。

weixin_45314480的博客 6890

struts.xml mysql_struts.xml配置文件详解

struts.xml 是 Struts2 框架的核心配置文件,该文件主要用于配置 Action 和请求的对应关系,以及配置逻辑视图和物理视图(逻辑视图就是在 struts.xml 文件中配置的 元素,它的 name 属性值就是逻辑视图名;物理视图是指 元素中配置的结果页面,如 JSP 文件)资源的对应关系。struts.xml 文件通常放在 Web 应用的 WEB-INF/classes 目录...

weixin_31233537的博客 373

手把手教你用THS4551搭建全差分放大器电路(附ADC驱动实战)

本文详细介绍了如何使用TI的THS4551全差分放大器搭建高性能ADC驱动电路,涵盖芯片选型、电路配置、PCB布局及实战调试等关键环节。THS4551凭借其优异的共模抑制比和宽电源电压范围,成为驱动16位及以上精度ADC的理想选择,特别适合工业应用场景。

weixin_30338481的博客 281

7、struts.xml配置详解

struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件。 一下分别介绍一下几个struts.xml中常用到的标签 1、<include> 利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。 比如一个网上购物程序,可以把用户配置、商...

weixin_30741653的博客 615

【AI黑话日日新】什么是AI云原生?

云原生赋能AI:利用容器、微服务、Serverless、DevOps等云原生技术,解决AI应用(尤其是大模型)在部署、扩展、运维、成本控制方面的痛点,让AI服务具备高可用、高性能、易运维、易扩展的特性AI赋能云原生:将AI技术(如智能调度、异常检测、自动优化)融入云基础设施管理,使云平台具备自我感知、自我优化、自我修复的能力,从"被动响应"升级为"主动适配"其本质是实现从""(AI运行在云上)到""(为AI量身打造的云)的根本性转变。

专注:太空算力、AI infra、异构调度、大模型成本工程 627

Y-Branch and a closed y-branch loop

双臂后面的区域,我们将它的双臂使用一个波导进行了连接,使得它本身形成了一个闭合回路,因此,该结构被称作。它们均是用来对经过它们的光束能量进行分割的一种器件。首先,我们知道一点,在光波导层面,今天给大家介绍一下,什么是。

u011699626的博客 629

有深圳捷顺的在职java吗?想了解一下工作情况和工作制度

ET。

luck_ty的博客 87

英伟达 Jetson AGX Thor 官方入门教程(二)CUDA、Docker、JetPack 设置

本文详细介绍了NVIDIA Jetson AGX Thor开发套件的安装与配置流程。主要内容包括:1) BSP安装的三种方法(Jetson ISO、SDK Manager和Linux刷写脚本)及其适用场景;2) Docker环境的完整配置步骤及测试方法;3) CUDA工具包的两种安装方式(容器化和原生安装)及其性能对比;4) JetPack SDK的安装选项。文章提供了详细的命令行操作指南和故障排除建议,帮助开发者快速搭建AI开发环境,充分发挥Jetson平台的硬件性能优势。

机器人控制与仿真应用 1732

信息安全公司链接!想了解情况得赶紧看看吧!

信息安全公司链接!想了解情况得赶紧看看吧!内地厂商安氏(中国),冠群(中国),启明星辰,东软股份,天融信,中联绿盟,冠群金辰,金诺网安,复旦光华,华依科技,广州科友,川大能士,东方龙马,理工先河,紫光顺风,天行网安,清华得实,中科网威,众达天网,安络科技,加安,思维世纪,熊猫卫士,远东网安,中科安胜,信安世纪,安言咨询,中盈优创,亿阳信通,联想网御,豪联星际,珠海伟思,华景中天,科

北京堵车王的专栏 1438

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

想了解JAVA内存机制以及内存泄漏情况的同行

Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。

tianxianchun的专栏 611

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

想了解各大手机在日本的人气情况吗?

日本类似淘宝的网站价格(比较权威) 日本手机有三家公司 AU,SOFTBANK,DOKOMO 以下是这个连接: http://kakaku.com/ranking/itemview/keitai.htm   目前的排名如下: ...

Wellee Lin 115

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

现在国内的ddos攻击趋势怎么样?想了解现在ddos的情况该去哪看?

你也可以访问上述提到的任何发布过相关报告的机构或公司的官方网站,查阅最新的研究报告和白皮书,或者订阅他们的电子邮件通知,以便及时接收最新的DDoS攻击趋势和防护建议。:很多攻击持续时间很短,但瞬间的冲击力很强,23.44%的攻击仅持续1-2分钟,86%的攻击持续时间不超过1小时。:攻击者采用的流量爬升速度更快,10秒内攻击流量可达到T级,这表明攻击者的技术和能力在提升。:像快快网络这样的公司会定期发布关于DDoS攻击的白皮书或研究报告,提供最新的数据和分析。

weixin_45840241的博客 656

想成为一名数据工程师,需要了解目前的行业情况、学习途径和学习路线

1.了解行业情况 刚开始一定要了解清楚自己和行业的情况,很多人根本就分不清招聘信息中的大数据和数据挖掘的区别就说自己要转行,其实是很不负责的。不要总是赶热点,反正我就是经常被鄙视做什么大数据开发太Low,做数据就要做数据挖掘,不然永远都是水货。 2.选择学习途径 如果真是清楚自己明确地想转数据开发了,要考虑一下自己的时间和精力,能拿出来多少时间,而且在学习的时候最好有人能多指点下,不然太容易走弯路...

多智时代的博客 825

想了解实力强的陕西GEO优化流程收费情况?这里有答案!

在数字化浪潮下,陕西企业对GEO优化的需求日益增长。陕西维度引擎科技作为专注于GEO优化的企业,其流程和收费情况备受关注。

q815948975的博客 156

英语针对顾客购买计算机所做的介绍,【标准答案】五、计算题1、某家商场想了解顾客对商场各方面的满意情况。具体想了解如下情况:a.顾客的背景信息。b.顾客对该商场的总体满意情况。c.顾客对商场在服务、设施...

【标准答案】五、计算题1、某家商场想了解顾客对商场各方面的满意情况。具体想了解如下情况:a.顾客的背景信息。b.顾客对该商场的总体满意情况。c.顾客对商场在服务、设施、商品质量等方面的满意情况。d.顾题目:五、计算题1、某家商场想了解顾客对商场各方面的满意情况。具体想了解如下情况:a.顾客的背景信息。b.顾客对该商场的总体满意情况。c.顾客对商场在服务、设施、商品质量等方面的满意情况。d.顾客的忠...

weixin_42451611的博客 319

日立咨询有人呆过吗?想了解一下情况(以前叫西艾,公司地点在广州)

最近囧死了(09毕业,事业单位呆了一年,做了半年开发,一年半打杂,测试、配置管理、需求分析、开发也做过两个月) 1、公司加薪,提升职位 2、外企最后一关,日立咨询。今天叫我和国外客户沟通.....(我英语很菜的,主要是想学英语,我有自学能力,学技术不是问题,做初级 QA) 3、家里给我找了一份工作,邮政银行,家里的意思是稳定,工资不高,才3K。 真是让我进退两难 我现在就想问问,日立咨询...

ameliaqueen的专栏 246

2026年想了解员工电脑情况用什么?分享一款电脑屏幕监控软件的7个核心功能!

2026年想了解员工电脑情况用什么?这是很多企业管理者都在思考的问题。随着数字化办公深入推进,员工日常工作几乎全部依赖电脑完成,如何高效掌握电脑使用状态,已经成为企业管理的关键环节。现在我将给大家介绍一款实用性强的电脑屏幕监控软件,一起看看吧!

yu_zhidun的博客 186

为什么想加入我们公司这个问题要怎么回答

其次,是公司的规模。无论你从哪个角度切入,只要你能够让面试官感受到你做好了充分地准备,对所应聘的公司有足够的了解,那面试官自然会感受到你的诚意。那如果只是求短期变现,那就可以回答说,我相信加入贵公司,对我职业发展有很大帮助,并且我也了解过贵公司的整体价值观和情况,和我未来的职业规划也非常匹配。要做的是:充分的准备,把公司情况、行业情况、公司产品、创始人、竞品都调查一遍,从而结合自身情况,表达自己想要进公司的强意愿。因此,如果公司最后确定要你,他就会用你提到的意愿去吸引你,从而让你可以更尽心地为公司效力。

xuweibin666的博客 1525

北京软件开发的成本情况

想了解一下北京软件开发的成本情况,如题,请各位指教! 大概是多少人/天

weixin_44219900的博客 465

南京宽带上网 南京互联网接入 南京电脑上网

南京宽带上网 南京互联网接入 南京电脑上网 家里的电脑想上网,开始联系各个公司了解情况:中国电信:联系电话:10000问了电信,有两种方式,一种是光缆一种是ADSL。两种服务费用完全一样,也都必须要电话机。不同在于有的地方有光缆,有的地方光缆没铺到。费用如下:电话:308电话机:自买接入费:58包年:1200(送两个月)包月:150包小时:20元10、50包

3659

南昌的IT行业什么情况

有南昌的iteye好友吗 南昌的IT行业什么个情况 有没有比较好的公司 薪资怎么样呀 有的话就冒个泡吧

hehongwei44的专栏 446
上一篇: SQLServer:存储过程
下一篇: ORA-01033: ORACLE initialization or shutdown in progress
hoyan_li
博客等级 码龄14年 5粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值