GeorgeYang'Blog

my technology blog

入坑,使用第三方SDK开发mavenJspWeb项目

阅读:202 创建时间:16-07-22 06:59:24 tags:maven,jsp

最近公司给了我一个奇怪的任务:用国外一个特定的SDK新建maven项目用开发一个运行在手机上的jsp网站,刚听到这个任务的时候我是懵逼的,除了jsp会一点外,各种没接触过。

刚开始,我的电脑没有这个环境,可视化编辑器都没有,为了能快速完成,我选择用myeclipse8.5,装上去,发现缺少m2eclipse插件插件,后来才知道myeclipse10是有自带的。

安装maven,这个比较简单就不详细说了,点击这里看安装过程,安装和配置完成,mvn -version检查。

开始安装SDK,安装成功后要能运行编译公司提供的demo代码,这个过程遇到一些坑,分别是:

  • SDK仅提供import能让你的代码在eclipse上没有显示缺少包的情况,但是,实际运行的时候总是提示缺少包,这个是SDK方故意这样做的,缺少的代码可能涉及到商业利益什么的,还以为是安装出错了,后来读了SDKdemo的代码才知道要部署到他的服务器才能完整的运行。

描述

  • 为了防止部署上去失败(不能由我们公司部署)出现演示失败,决定把代码(不执行SDK代码的打包,因为一执行就会报错,缺少class)放到一个公司的服务器,由于服务器是ec-2linux系统,所以要继续配置环境,快速的装好mvn和SDK,后发现mvn tomcat:run运行起来了,但是不能访问,后来得知ec-2的端口要在管理台设置开启的,深坑,再后来,项目跑起来了,能看到index.jsp,但是访问serlvet失败,才知道servlet要用tomcat7,然后去配置pom.xml,配置好了,发现运行的时候总是提示No plugin foune for prefix 'tomcat' in current project groups......在项目的根目录下运行mvn tomcat7:run总是提示这个,但是在我的windows下缺可以,而且mvn版本也一样,后来一次偶然的目录错误,我进入了project-war目录运行,发现竟然可以运行了!!

  • .经过正常mvn install打包生成了三种包:ear,svar,war包,服务器需要的是svar包,完成一部分可演示功能后拿去部署被告知部署失败,原因这个maven项目是我用命令生成的

    mvn archetype:generate -DarchetypeGroupId=SDK名 -DarchetypeArtifactId=service-archetype

这样生成的maven项目在我用的电脑是可以编译的,用公司提供的demo却编译失败,后来认真检查了一遍pom.xml配置文件,发现是sdk版本对不上,demo的SDK版本已经不能官网上找到了,要求服务器修改sdk版本后才成功。

博客出处

虽然坑多,但通过不屑努力和同事的帮助下,总算能编码和运行起来了。

温故知新

除了到上文一下新知识后,还复习了一下jsp的知识,记得python的模板是有导入的概论的,脑子里就像jsp应该也有,没想法真的有:

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 <%@ include  file="var.jsp"%>这里可以引入某个jsp文件
 ...

又出现编码问题,是输入输出流编码没统一导致的,又对编码的理解加深了一层。

还有一段简单的html、string替换代码,记下来或许下次可以使用:

 public static String HtmlDiscode(String theString){
        theString = theString.replace("&gt;", ">");
        theString = theString.replace("&lt;", "<");
        theString = theString.replace("&nbsp;", " ");
        theString = theString.replace("&quot;", "\"");
        theString = theString.replace("&#39;", "\'");
        theString = theString.replace("<br/> ", "\n");
        return theString;
    }

    public static String HtmlEncode(String theString){
        theString = theString.replace(">", "&gt;");
        theString = theString.replace("<", "&lt;");
        theString = theString.replace(" ", "&nbsp;");
        theString = theString.replace("\"", "&quot;");
        theString = theString.replace("\'", "&#39;");
        theString = theString.replace("\n", "<br/> ");
        return theString;
    }

坑坑更健康。