給一個客戶做的一個小項目,需求就是輸入類似一個短網址http://dd.yy/xxxx然后跳轉到另外一個域名下的圖書文件。(實際很多短網址站都提供API供調用吧,不過客戶需求是他自己建立一個短網址服務然后跳轉到服務器上另外一個網站下載相應圖書)
以前沒單獨用spring開發的經驗,實際用java的經驗也比較少,所以記錄下開發過程中遇到的問題以及有價值的知識點記錄下供自己和后來者備忘吧。有些地方理解或者寫的可能有不對的地方,應急用的,先求保持功能可用即可。再深入的研究以提升JAVA開發技能。
下面的一些配置基本是根據看的一個視頻邊看邊做的。
配置:1.web.xml
主要配置引入spring servelet的一段如下:
<servlet> <servlet-name>shorturl</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> <!-- 加載springmvc.xml --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet>
2.springmvc.xml
參考視頻使用的注解開發模式,相關配置如下:
<context:component-scan base-package="ren.kss.web.controller"></context:component-scan> <!-- 注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /> <!-- 注解適配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" /> <!-- 視圖解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean>依賴包
按照視頻把里面提到的一些jar放入建立的一個文件夾lib中,把lib加入build path,
東拼西湊的一些jar包,版本沒有按照視頻里面的,可能有些不需要的jar包
亂碼問題:讀取MySQL中圖書地址并跳轉到相應圖書文件供下載,路徑即為圖書的虛擬目錄,如[http://domain.com/book/分享/大數據時代_生活,工作與思維的大變革 (湛廬文化•財富匯) - 維克托•邁爾-舍恩伯格 & 肯尼思•庫克耶.mobi],按以前的經驗使用URLEncoder.encode(url,"utf-8"),對不包括一些特殊字符如"().-"在里面的可以正常下載,但是有特殊字符的也給轉成%xx之類的就出錯了。直接讀取數據庫路徑然后轉成url也會出錯,最終解決辦法是downloadUrl=new String(downloadUrl.getBytes("UTF-8"),"ISO8859-1");
新聞熱點
疑難解答