精华内容
下载资源
问答
  • 部署CRM系统

    千次阅读 2016-03-31 11:39:42
    现在,实施以客户为中心的战略部署CRM系统,以提高企业竞争力,已成为共识。无论是大中小企业,需要做产品以求得到更多市场的无疑要把重点放到这一块上。但是问题来了,部署CRM系统,是自主开发,外包定制,还是...

          现在,实施以客户为中心的战略,部署CRM系统,以提高企业竞争力,已成为共识。无论是大中小企业,需要做产品以求得到更多市场的无疑要把重点放到这一块上。但是问题来了,部署CRM系统,是自主开发,外包定制,还是采购成熟的品牌软件呢?如果要自主开发,公司又需要哪些角色负责整个产品的相关流程呢?以下就是个简单的了解,不足之处多多指教,小编会虚心受教滴~~

      定制开发CRM客户管理软件的困局

      部分展览企业在部署CRM的时候,选择基于自身需求,完全定制开发。如果自己公司有独立的信息部或者技术部,会优先选择完全自主设计和开发,好处是一次性投入低,内部团队沟通方便,响应度高。理想状况下,这种模式开发出来的软件,是最适合自己用的。而实际上,鲜有成功案例。

         定制开发CRM客户管理软件需要的团队角色

    客户关系管理(CRM)是利用信息科学技术,实现市场营销、销售、服务等活动自动化,使企业能更高效地为客户提供满意、周到的服务,以提高客户满意度、忠诚度为目的的一种管理经营方式。客户关系管理既是一种管理理念,又是一种软件技术。以客户为中心的管理理念是CRM实施的基础。

       一个完整的软件开发团队,至少应包含以下角色:产品经理、美工、交互设计师、架构师、前端工程师、后端工程师、数据库专家、测试工程师、项目经理。如果要细分的话,就更多了。一个展览公司,是很难配齐这么多角色的。缺产品经理,导致需求分析不全面,功能设计有缺陷;缺交互设计师,导致软件操作别扭,使用不顺手;缺架构师,导致初期架构不合理,在后期需要扩展功能,大量代码需要重写;缺测试工程师,上线前测试不充分,Bug多,用户焦头烂额……

       以下简单说说各角色的职能:

    项目经理:( Project Manager ) ,从职业角度,是指企业建立以项目经理责任制为核心,对项目实行质量安全进度成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。项目经理是为项目的成功策划和执行负总责的人。项目经理是项目团队的领导者,项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容,并使客户满意。为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作,从而实现项目目标。

      产品经理:就是企业中专门负责产品管理的职位,产品经理负责调查并根据用户的需求,确定开发何种产品,选择何种技术、商业模式等。并推动相应   产品的开发组织,他还要根据产品的生命周期,协调研发、营销运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品                    管理活动。

    软件架构师:是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总    体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。

    交互设计师:交互指的是产品与它的使用者之间的互动过程,而交互设计师则是秉承以用户为中心的设计理念,以用户体验度为原则,对交互过程进行   研究并开展设计的工作人员。一般产品经理考虑要做什么产品才有价值,交互设计师考虑怎么把这个想法最有效的转化成一系列的界面展                     现给用户。除了展现,还有和用户的交互。这个展现、交互的过程就需要一定的表达能力。这种表达能力并不是我们平时所特指的口头表                    达,而是使用网页语言表达。我们经常会讨论一个按钮的位置,讨论某个状态下光标的样式,讨论应该写成"登录"而非"登陆"等等:这些都                      是网页语言表达。

    UI : User Interface的头字缩写。所以UI工程师指用户界面工程师,细分又有手机UI,网站UI,软件UI。软件UI负责软件界面设计。

    前端工程师是WEB前端开发工程师简称。Web前端工程师工作是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。进 行 丰富互联网的Web开发,致力于通过技术改善用户体验。简 单 地 说 ,它的主要职能就是把网站的界面更好地呈现给用户。Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/DOM/Flash等各种 Web技术进行产品的界面开发。制作标准优化的代码,并增加交互动态功能,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果。

    后端工程师区别于前端开发工程师,重点是对业务逻辑及数据的处理,使用的语言主要是PHP,Java,ASP.NET,Python, Ruby等。相比较前端,后端的发展比较 成熟,针对不同的语言,有很多成熟的解决方案,比方说MVC,Struts等。随着nodejs的发展,也可以使用JavaScript 去开发后台,这样就没有严格意义上区分的前端和后台了。

    数据库工程师:(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。数据库工程师的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

    测试工程师软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。在企业中一般称为软件开发测试工程师(Software Development Engineer in Test,SDET)。一般为具有1-2年经验的测试工程师或程序员有良好经验的测试工程师可以成长为产品/项目组的测试组长(SDETLead)或软件质量经理(SQA Manager),负责软件质量保证,进行测试管理和领导测试团队。

    以上就是自主开发团队中比较重要的角色,主要来说自主开发成功率低,自己整理需求,也就是自己的产品的从规划到发布到后期维护都是需要自己的团队去做的。再找软件外包团队是不是胜算就大得多呢?依然鲜有成功案例。

      贸促会建筑材料行业分会就有过定制CRM管理软件的经历。“以前我们定制过一套CRM管理软件,但在使用时发现系统设计的缺陷还是太多,总是存在很多BUG,使用不顺手。外包公司没有开发会展CRM软件系统的经验,他无法给你提出多少有价值的建议,只能你怎么说,他怎么改。我们无奈最后只能放弃。”建材贸促会负责人介绍说。(比较代表性的例子,足以说明问题)

      之所以主办要选择自主开发,主要是因为市场上大部分CRM管理软件无法满足主办的个性化需求。虽然我们的很多产品属一个行业,但是不同的每个公司的要求,需求对象,发展方向有着截然不同的属性。鉴于外包常出现外包公司不了解市场行情,只注重功能,所以很多APP都不伦不类,这需要我们可能依据市场做出不同的架构,系统需要有很强的灵活性。这点事是很多外包公司做不来的!当然不排除有很优秀的外包公司啦O(∩_∩)O

              依靠市场的产品才会有更强的生命力,所以具体是选择什么开发途径,综合因素会有很多,当然这是公司决策者应该考虑的问题,小编不做累述啦~\(≧▽≦)/~

    展开全文
  • 以及Cisco IPv6开发理事会的核心成员,同时还是IETF的IPv6领域的关键参与人员。Nikhil Sharma,CCIE#212-73,Cisco公司技术营销工程师,负责为Catalyst4500产品线的软硬件雕琢新特性。Sanjay Hooda,CCIE#11737。...
  • CRM团队战略

    2012-04-21 13:13:03
    或许你已决定着手部署CRM项目,不过在你开始之前,你有没有想过先组立一支知识型团队来共同制定并执行CRM战略目标?无论是建立一支小型项目小组来规划部门范围的CRM实施,还是组建一个大型项目管理委员会来统筹企业...

    或许你已决定着手部署CRM项目,不过在你开始之前,你有没有想过先组立一支知识型团队来共同制定并执行CRM战略目标?无论是建立一支小型项目小组来规划部门范围的CRM实施,还是组建一个大型项目管理委员会来统筹企业级CRM的部署,该团队都需要肩负起需求评估、厂商选择、应用实施,以及绩效测量的责任。在团队成员选择上的适当与否,会直接影响到CRM项目最终成效的优劣。那么,正确的CRM战略团队,应当包含哪些角色?

    管理层代表

    为了能够使CRM项目顺利在公司中各个层级铺展开,你必须先得到自上而下的支持。换言之,企业管理层的认可将会为项目减少阻力,让你更容易展开重大的组织和流程变更,确保CRM的成功。此外,企业管理层的支持也会鼓励用户在整个实施流程中采取配合的态度,并在系统安装后去积极使用。

    部门经理

    不管你是打算仅在部门范围内试点,还是在整个企业范围内部署,一定会有不少部门受到影响,因此,这些部门需要从项目一开始就参与规划阶段的工作。从各个可能受到影响的职能部门,比如市场、销售、客户服务等,邀请经理或主管加入CRM战略团队,以保证他们的需求、观点和意见可以从一开始就被考虑在内。

    顾问

    鉴于顾问的专业经验和中立的观点,因此在团队中加入第三方专家有一定的价值。不过,任何独立顾问都应限于担当建议者的角色,而不应被授予直接进行项目管理的权力。将管理权保留在企业内部有助于提高CRM活动的成功率。

    IT人员

    相比之下,你的IT人员更善于预测新部署的CRM系统会对企业技术环境中的其它部分产生何种影响。由于IT成员参与过公司内多种其它项目的实施,因此他们对整个企业的运营有更全面的了解。可以说,IT的贡献力对CRM战略起着主要的作用。

    超级用户

    为了让CRM投资尽快带来投资回报,你需要得到那些负责日常战略执行的同伴的支持。通过邀请团队主管、客服经理,及其他超级用户去参与项目规划,你能取得有关现有商业流程的价值信息,并对CRM解决方案如何转换并增强这些流程给客户和员工创造回报有一个更深入的认识。

     

    文章来源:http://www.zkcrm.com/65.htm?p=pf

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26891717/viewspace-721880/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/26891717/viewspace-721880/

    展开全文
  • K8s之KubeSphere平台部署

    2020-11-19 21:20:58
    KubeSphere还是一个多租户企业级容器平台,具有全栈自动IT操作和简化的DevOps工作流程。它提供了开发人员友好的向导Web UI,可帮助企业构建更健壮且功能丰富的平台,其中包括企业Kubernetes战略所需的最常用功能,...

      KubeSphere是一个分布式操作系统,提供以Kubernetes为核心的云原生堆栈,旨在成为第三方应用程序的即插即用架构,以促进其生态系统的发展。 KubeSphere还是一个多租户企业级容器平台,具有全栈自动IT操作和简化的DevOps工作流程。它提供了开发人员友好的向导Web UI,可帮助企业构建更健壮且功能丰富的平台,其中包括企业Kubernetes战略所需的最常用功能,例如Kubernetes资源管理,DevOps(CI / CD),应用程序生命周期管理、监控、日志记录、服务网格、多租户、报警和通知,存储和网络、自动定量、访问控制、GPU的支持等,以及多集群管理、网络策略、注册表管理,更多即将发布的安全增强特性。

    KubeSphere提供了整合的视图,同时围绕Kubernetes集成了广泛的生态系统工具,并提供一致的用户体验以降低复杂性,并开发了上游Kubernetes中尚不可用的新功能,以减轻Kubernetes的痛苦之处,包括存储,网络 ,安全性和易用性。 KubeSphere不仅允许开发人员和DevOps团队在统一控制台中使用他们喜欢的工具,而且最重要的是,由于这些功能是可插拔和可选的,因此它们与平台松散地结合在一起。

    Kubernetes平台,专为DevOps团队量身定制

    KubeSphere,以应用为中心的容器平台

    极简、易用、灵活、高效


    在k8s集群上安装部署

    软硬件要求
    Kubernetes 版本必须为 “1.15.x,1.16.x,1.17.x 或 1.18.x”;
    确保您的计算机满足最低硬件要求:CPU > 1 核,内存 > 2 G;
    在安装之前,需要配置 Kubernetes 集群中的默认存储类;

    配置k8s默认存储类(StorageClass)
     要使用 StorageClass,我们就得安装对应的自动配置程序,比如我们这里存储后端使用的是 nfs,那么我们就需要使用到一个 nfs-client 的自动配置程序,我们也叫它 Provisioner,这个程序使用我们已经配置好的 nfs 服务器,来自动创建持久卷,也就是自动帮我们创建 PV。
    第一步:搭建一个nfs服务器,创建共享目录。

    选定一台nfs服务器,我这里ip为:192.168.47.50
    创建共享目录:
    mkdir -pv /data/nfs-share/k8s
    chmod 666 /data/nfs-share/k8s
    安装nfs:
    yum install nfs-utils rpcbind -y
    vim /etc/exports
    /data/nfs-share/k8s 192.168.47.0/24(rw)
    
    systemctl start nfs
    
    exportfs -v  查看本机所有NFS共享
    exportfs -r  重读配置文件,并共享目录
    
    在k8s节点检查并挂载nfs:
    showmount -e 192.168.47.50
    mount -t nfs 192.168.47.50:/data/nfs-share/k8s /data/nfs-share/k8s
    
    

    第二步:创建一个独立的storgeclass,为nfs-client-provisioner创建一个serviceAccount,然后绑定上对应的权限。

    cat rbac.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    ---
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: nfs-client-provisioner-runner
    rules:
      - apiGroups: [""]
        resources: ["persistentvolumes"]
        verbs: ["get", "list", "watch", "create", "delete"]
      - apiGroups: [""]
        resources: ["persistentvolumeclaims"]
        verbs: ["get", "list", "watch", "update","create"]
      - apiGroups: ["storage.k8s.io"]
        resources: ["storageclasses"]
        verbs: ["get", "list", "watch"]
      - apiGroups: [""]
        resources: ["events"]
        verbs: ["create", "update", "patch"]
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: run-nfs-client-provisioner
    subjects:
      - kind: ServiceAccount
        name: nfs-client-provisioner
        # replace with namespace where provisioner is deployed
        namespace: storgeclass
    roleRef:
      kind: ClusterRole
      name: nfs-client-provisioner-runner
      apiGroup: rbac.authorization.k8s.io
    ---
    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: leader-locking-nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    rules:
      - apiGroups: [""]
        resources: ["endpoints"]
        verbs: ["get", "list", "watch", "create", "update", "patch"]
    ---
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: leader-locking-nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    subjects:
      - kind: ServiceAccount
        name: nfs-client-provisioner
        # replace with namespace where provisioner is deployed
        namespace: storgeclass
    roleRef:
      kind: Role
      name: leader-locking-nfs-client-provisioner
      apiGroup: rbac.authorization.k8s.io
    [root@k8s-master storgeclass]# cat rbac.yaml 
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    ---
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: nfs-client-provisioner-runner
    rules:
      - apiGroups: [""]
        resources: ["persistentvolumes"]
        verbs: ["get", "list", "watch", "create", "delete"]
      - apiGroups: [""]
        resources: ["persistentvolumeclaims"]
        verbs: ["get", "list", "watch", "update","create"]
      - apiGroups: ["storage.k8s.io"]
        resources: ["storageclasses"]
        verbs: ["get", "list", "watch"]
      - apiGroups: [""]
        resources: ["events"]
        verbs: ["create", "update", "patch"]
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: run-nfs-client-provisioner
    subjects:
      - kind: ServiceAccount
        name: nfs-client-provisioner
        # replace with namespace where provisioner is deployed
        namespace: storgeclass
    roleRef:
      kind: ClusterRole
      name: nfs-client-provisioner-runner
      apiGroup: rbac.authorization.k8s.io
    ---
    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: leader-locking-nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    rules:
      - apiGroups: [""]
        resources: ["endpoints"]
        verbs: ["get", "list", "watch", "create", "update", "patch"]
    ---
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: leader-locking-nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    subjects:
      - kind: ServiceAccount
        name: nfs-client-provisioner
        # replace with namespace where provisioner is deployed
        namespace: storgeclass
    roleRef:
      kind: Role
      name: leader-locking-nfs-client-provisioner
      apiGroup: rbac.authorization.k8s.io
    

    应用创建:kubectl apply -f rbac.yaml

    第三步:配置 Deployment,将里面的对应的参数替换成我们自己的 nfs 配置(nfs-client.yaml)

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nfs-client-provisioner
      labels:
        app: nfs-client-provisioner
      # replace with namespace where provisioner is deployed
      namespace: storgeclass
    spec:
      replicas: 1
      strategy:
        type: Recreate
      selector:
        matchLabels:
          app: nfs-client-provisioner
      template:
        metadata:
          labels:
            app: nfs-client-provisioner
        spec:
          serviceAccountName: nfs-client-provisioner
          containers:
            - name: nfs-client-provisioner
              image: quay.io/external_storage/nfs-client-provisioner:latest
              volumeMounts:
                - name: nfs-client-root
                  mountPath: /persistentvolumes
              env:
                - name: PROVISIONER_NAME
                  value: fuseim.pri/ifs
                - name: NFS_SERVER
                  value: 192.168.47.50
                - name: NFS_PATH
                  value: /data/nfs-share/k8s
          volumes:
            - name: nfs-client-root
              nfs:
                server: 192.168.47.50
                path: /data/nfs-share/k8s
    

    应用并验证:

    kubectl get pod -n storgeclass
    storgeclass                    nfs-client-provisioner-78c8fdf8fc-zn76k                  1/1     Running   0          4h18m
    

    第四步:创建默认存储类

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: managed-nfs-storage
      annotations:
        storageclass.kubernetes.io/is-default-class: "true"
    provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
    parameters:
      archiveOnDelete: "false"
    

    其中 annotations 下面的 storageclass.kubernetes.io/is-default-class: “true” 是必须的:

    [root@k8s-master storgeclass]# kubectl get sc
    NAME                            PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    managed-nfs-storage (default)   fuseim.pri/ifs   Delete          Immediate           false                  4h26m
    

    部署 KubeSphere
    执行下面yaml文件:

    kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml
    
    kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml
    

    检查安装日志:

    kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
    

    安装成功可以看见最终下面结果:
    在这里插入图片描述
    确认pod启动情况:
    在这里插入图片描述
    最后确保在安全组中打开了端口 30880,并通过 NodePort(IP:30880)使用默认帐户和密码(admin/P@88w0rd)访问 Web 控制台。
    在这里插入图片描述
    浏览器登录:
    在这里插入图片描述
    验证使用:
    在这里插入图片描述

    展开全文
  • 自学到spring web部署时,遇到两个看似很小,但折腾了我好几个小时的小问题。第一就是导入包的问题。刚开始我一口气导入了几十个包,写好配置文件后一发布,得,弹出个404.之后的几个小时又是检查配置,又是增加包的...

    自学到spring web部署时,遇到两个看似很小,但折腾了我好几个小时的小问题。第一就是导入包的问题。刚开始我一口气导入了几十个包,写好配置文件后一发布,得,弹出个404.之后的几个小时又是检查配置,又是增加包的,还是没反应,额。在网上查资料后,决定换个战略,减包、删配置,从最基本的jsp初始状态一点点加包加配置。之后就有了重大发现,原来真有包是不能加的,一加进去就给你个404.这个就是 commons-attributes-compiler.jar。。好了弄好包后,额,发现不能跳转。。。再查,发现控制代码部分的Map没弄好,好,搞定完后,发布,成功!

    总结:完成一个spring web最基本的跳转和显示文字所需要的包只要3个,再加个日志包总共就4个:

    1.commons-logging.jar

    2.log4j-1.2.15.jar

    3.spring-webmvc.jar

    4.spring.jar

    顺便给出配置。

    1.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">
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    
     <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>/WEB-INF/dispatcherServlet-Servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    
    </web-app>

    2.dispatcherServlet-Servlet.xml

    代码
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
    <beans>
       <!-- 定义映射 -->
       <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
           <property name="mappings">
              <props>
                 <prop key="helloWorld.do">helloWorldAction</prop>
              </props>
           </property>
       </bean>
       <!-- 定义视图 -->
       <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass">
               <value>org.springframework.web.servlet.view.InternalResourceView</value>
            </property>
       </bean>
       <!-- 定义控制器 -->
       <bean id="helloWorldAction" class="cn.Spring.MVC.HelloWorldAction">
            <property name="helloWorld">
               <value>Helloworld,您好spring</value>
            </property>
            <property name="viewPage">
               <value>/hello.jsp</value>
            </property>
       </bean>
    </beans>

    3.HelloWorldAction  java类

    java类
    package cn.Spring.MVC;
    import java.util.HashMap;
    import java.util.Map;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    public class HelloWorldAction implements Controller{
        private String helloWorld;
        private String viewPage;
    
        public String getHelloWorld() {
            return helloWorld;
        }
    
        public void setHelloWorld(String helloWorld) {
            this.helloWorld = helloWorld;
        }
    
        public String getViewPage() {
            return viewPage;
        }
    
        public void setViewPage(String viewPage) {
            this.viewPage = viewPage;
        }
        /**
         * 
         */
        public ModelAndView handleRequest(HttpServletRequest arg0,
                HttpServletResponse arg1) throws Exception {
            Map<String, String> model=new HashMap<String, String>();
            model.put("helloWorld", getHelloWorld());
            return new ModelAndView(getViewPage(),model);
        }
    
    }

    4.hello.jsp页面

    jsp页面
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
    <%
      String str=(String)request.getAttribute("helloWorld");
     %>
      <head>
      </head>  
      <body>
        <h1><%=str %>,你好</h1>
      </body>
    </html>

     

     

    转载于:https://www.cnblogs.com/yaoxing92/archive/2013/04/03/2997695.html

    展开全文
  • 组织需要多云战略

    2021-03-08 21:38:36
    在2010年,人们对云计算技术的讨论主题很简单:采用公共云还是私有云。 随着时间的推移,这已经演变成围绕混合云的讨论,人们讨论的重点是组织必须在内部部署、公共云或私有云平台之间进行选择。一些组织并没有...
  • GE认为,波澜壮阔的市场前景下,不论是满足效率安全和实时可靠的工厂内网、工厂外网和标识解析等基础业态,还是工业运营产生的智能化生产、网络化协同、数据同步、人工智能改造等新型业态,工业互联网都是产业升级的...
  • 任何通信运营企业,无论从战略的角度还是提供业务的需求,都要求认真规划好自己的无线网。 无线频率资源是宝贵资源、不可再生资源。因此,无线网络规划要从战略角度考虑频率资源的占有、分布、合理利用和高效利用。...
  • 欧洲的技术主权的出发点,是确保我们的数据基础设施、网络 和...而且这些数据应该对所有人开放——无论是在公共部门还是 私营部门,无论大还是小,无论是初创公司还是巨型企业。这将帮 助我们整个社会最大程度地利用创
  • 三星全新旗舰Galaxy S9|S9+已于3月6日开启预售,本次预售将持续至3月14日,从初步情况来看,业界对Galaxy S9|S9+的期待还是颇高的,这和...整体上看,三星在中国的差异化战略正日渐深入,产品升级与市场部署高度同步...
  • 企业进行CRM系统的部署,究其原因就是希望建立一个便捷、高效且互通的应用平台,这个平台不仅能满足企业管理客户的需要,改变以往客户资料分散、客户管理复杂繁琐的状况;还要能实现对企业的内部管理,让企业无论在...
  • 技术架构是确定组成应用系统实际运行的技术组件、技术组件之间的关系,以及部署到硬件的策略。技术架构面临最大的挑战是“不确定性”。在技术架构上,很多时候就会面临这种选择。是要选择业界最新的技术?还是选择.....
  • Blackbot Labs相信会创建工具,供所有组织一起配置和管理供应商解决方案和开源,目的是提供可操作的攻击情报,组织可以使用这些攻击来定义明确的目标并推动战略安全计划计划。 承诺 完整性我们开发工具和框架以产生...
  • 近期,英特尔在京举办了智能物联体验分享会,主要围绕了“互联网+英特尔”这一主题,向与会嘉宾分享在“互联网+”时代下,公司在中国的物联网战略实施和部署,及其在助力传统产业进行智能转型方面的经验和实践。...
  • 人人都是架构师: 约束和原则

    千次阅读 2015-05-31 21:07:29
    目标部署平台,技术成熟度(保守),开源技术,供应商关系(阿里云,还是AWS),过去的失败,内部知识产权人员约束团队规模,技能,团队扩展的速度,咨询和培训,运维团队的技能组织约束企业战略的影响,办公室政治...
  • 在这样的背景下,无论是政府决策部门,还是企业的管理者,都亟需抓住新一轮科技革命和产业革命的重要机遇,加快战略部署和专项行动计划实施,推动技术和应用创新,释放物联网潜力,深化物联网应用,推动物联网的健康...
  • 就在计算厂商中科曙光的年度科技峰会上,“All in AI”也从战略到产品,从口号到行动,成为中科曙光面对新趋势的核心部署。 首先是新战略:数据中国智能计划。 这是继2015年推出“数据中国”战略之后,中科...
  • 总的来说,喜欢围棋的人,都会被训练得在战略部署方面具备大局观。并且,与一些诸如扑克和麻将类的游戏不同,一个人希望凭借幸运而取得胜利,在围棋中几乎不可能。 棋者的技能及精神状态,将对“战局”产生直接影响...
  • CNN入门知识-转载

    2021-03-16 12:21:52
    从此之后,各个科技巨头公司开始使用深度学习作为技术战略部署,体现在自己的公司文化上。比如: Facebook 运用神经网络用于自动标注算法 谷歌 使用 神经网络图片搜索 亚马逊使用商品推荐 Pinterest用于个性化推送 ...
  • SAN,NAS该选谁?

    2011-04-06 10:00:00
    存储区域网(SAN)功能强大,但难于部署且费用高昂。...----人们正在为是否选择费用相对低廉、易于部署的网络连接存储(NAS)还是选择功能更强大,但费用更高并且较难部署的存储区域网(SAN)而煞费苦心...
  • BAT纷纷入局,云游戏低调崛起

    千次阅读 2016-06-15 02:09:00
    BAT先试先行都在部署战略,可是要说起什么是云游戏,普通人还是“在云里,在雾里”。 云游戏顾名思义,就是在云端服务器上运行的游戏、服务器采用压缩算法,将实时画面渲染成视频音频流,通过网络发
  • iVX不仅是一个开发语言、开发工具,还是一款性能优异的企业中台Paas产品,它将应用开发的全套环境进行了重新整合,基于云计算体系优化了企业开发流程,帮助企业打造数据中台,实现数字化战略转型。 1、全栈开发,多...
  • 周结

    2019-10-05 08:02:52
    大的“战略部署”做好了。为什么这么做也是很值得去思考的事。 首先不能慌,因为慌也没有用。不能急、乱了节奏,得认清自己:不是天才,不可能学一遍就会,还是得一点点的解决。 然后就是怎样解决...
  • 或许你已决定着手部署CRM项目,不过在你开始之前,你有没有想过先组立一支知识型团队来共同制定并执行CRM战略目标?无论是建立一支小型项目小组来规划部门范围的CRM实施,还是组建一个大型项目管理委员会来统筹企业...
  • 或许你已决定着手部署CRM项目,不过在你开始之前,你有没有想过先组立一支知识型团队来共同制定并执行CRM战略目标?无论是建立一支小型项目小组来规划部门范围的CRM实施,还是组建一个大型项目管理委员会来统筹企业...
  • 6月对于京东注定不会太平。原本正在全力准备618活动的京东,却因翻新机、翻新表等一系列事件把消费者搞的人心惶惶,一向被认为是京东...谁来约束京东自营 5月底的央视《每周质量报告》打乱了京东6月份的战略部署,...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
热门标签
关键字:

战略部署还是战略部署