把Winlet加入项目

Java库

Winlet Java库已经发布到Maven中央仓库。使用Maven的项目可以在pom.xml文件中添加以下依赖:

<dependency>
	<groupId>com.aggrepoint.framework</groupId>
	<artifactId>winlet</artifactId>
	<version>0.1.6</version>
</dependency>

winlet_local

Winlet框架提供了一个Javascript脚本,以及与其配套的一个CSS文件和一组图片资源文件。这些文件被打包成名为winlet_local的项目,并发布在GitHub上。

要用<div>标签嵌入Winlet应用的HTML页面需引用winlet_local项目提供的Javascript和CSS文件,以及其依赖的jQuery和Bootstrap。winlet_local的Javascript代码负责在页面显示时找到页面中调用Winlet窗口的<div>标签,与服务器发起请求获取Winlet窗口内容,并在后续过程中负责管理客户端与服务器端逻辑之间的交互。

可以使用Bower,执行以下命令获得最新版本的winlet_local文件,以及其依赖的jQuery和Bootstrap:

bower install winlet_local

或者可以选择执行以下命令从GitHub获得最新版本的winlet_local(在winlet_local\dist目录中):

git clone https://github.com/yangjm/winlet_local.git

或者可以点击以下链接下载winlet_local:

Spring Boot项目

配置说明

在Spring Boot项目中,通过Maven引入Winlet库后,无需额外配置,Winlet框架就会生效。

Winlet应用的JSP页面应放在目录/src/main/webapp/WEB-INF/views中。

项目模版

为了帮助快速建立新的Winlet Spring Boot项目,开发人员可以从GitHub下载Winlet Spring Boot快速启动模版项目,在其基础上按自己项目的需要进行修改。

你也可以在GitHub上查看源代码。

/src/main/java/com/aggrepoint/start/Application.java

1. 本地开发环境做好准备:

  • 配置好Java 8
  • 开发环境中使用的测试服务器需支持Servlet 3.1和JSP 2.1
  • 配置好Maven。

2. 执行以下命令将模版项目下载到本地:

git clone https://github.com/yangjm/winlet_start_spring_boot

3. 在开发环境中使用Import -> Existing Maven Project导入以下winlet_start_spring_boot/pom.xml文件

4. 把导入的winlet_start_spring_boot项目加入到开发环境中的测试服务器,启动测试服务器

5. 假设测试服务器使用端口8080,用浏览器访问http://localhost:8080/start_spring_boot/index.html,确认模版应用运行正常。

6. 可以根据项目需要修改pom.xml文件内容,例如把groupId、artifactId、name、description根据项目情况进行修改。模版应用缺省使用的context root使/start_spring_boot,可以修改pom.xml中finalName的内容来将context root更改为其他值。

使用XML配置的Spring MVC项目

配置说明

使用XML配置的Spring MVC项目通过Maven引入Winlet库后,还需要进行以下配置以使Winlet框架生效:

  1. 在web.xml中,以com.aggrepoint.winlet.spring.WinletContextLoaderListener替换Spring的org.springframework.web.context.ContextLoaderListener:
    <listener>
    	<listener-class>com.aggrepoint.winlet.spring.WinletContextLoaderListener</listener-class>
    </listener>
  2. 在web.xml中,以com.aggrepoint.winlet.spring.WinletDispatcherServlet替换Spring的org.springframework.web.servlet.DispatcherServlet,例如:
    <servlet>
    	<servlet-name>appServlet</servlet-name>
    	<servlet-class>com.aggrepoint.winlet.spring.WinletDispatcherServlet</servlet-class>
    	<init-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
    	</init-param>
    	<load-on-startup>1</load-on-startup>
    </servlet>
  3. 在web层的Spring容器配置文件中(该配置文件的名称和位置由web.xml中WinletDispatcherServlet的init-param指定。在上面web.xml配置例子中,该文件的名称为servlet-context.xml),定义bean com.aggrepoint.winlet.spring.WinletRequestMappingHandlerMapping,如:
    <beans:bean id="handlerMapping"
    	class="com.aggrepoint.winlet.spring.WinletRequestMappingHandlerMapping" />
  4. 在web层的Spring容器配置文件中,用com.aggrepoint.winlet.spring.WinletFormattingConversionServiceFactoryBean作为conversion service,并且启用Winlet提供的argument resolver类com.aggrepoint.winlet.spring.WinletHandlerMethodArgumentResolver:
    <beans:bean id="conversionService"
    	class="com.aggrepoint.winlet.spring.WinletFormattingConversionServiceFactoryBean">
    </beans:bean>
    
    <annotation-driven conversion-service="conversionService">
    	<argument-resolvers>
    		<beans:bean
    			class='com.aggrepoint.winlet.spring.WinletHandlerMethodArgumentResolver' />
    	</argument-resolvers>
    </annotation-driven>
  5. 建议将Winlet使用的JSP文件放置在WEB-INF/views/目录中。为此需要在web层Spring容器配置文件中加入以下配置:
    <beans:bean id="jspxResolver"
    	class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    	p:order="100" p:prefix="/WEB-INF/views/" p:suffix=".jsp" />

项目模版

为了帮助快速建立使用XML配置的Winlet项目,开发人员可以从GitHub下载Winlet Spring MVC快速启动模版项目,在其基础上按自己项目的需要进行修改。

你也可以在GitHub上查看源代码。

JSP
HTML
web.xml
日志配置
Maven
/src/main/java/com/aggrepoint/start/HelloWorld.java

1. 本地开发环境做好准备:

  • 配置好Java 8
  • 开发环境中使用的测试服务器需支持Servlet 3.1和JSP 2.1
  • 配置好Maven。

2. 执行以下命令将模版项目下载到本地:

git clone https://github.com/yangjm/winlet_start_spring_mvc

3. 在开发环境中使用Import -> Existing Maven Project导入以下winlet_start_spring_mvc/pom.xml文件

4. 把导入的winlet_start_spring_mvc项目加入到开发环境中的测试服务器,启动测试服务器

5. 假设测试服务器使用端口8080,用浏览器访问http://localhost:8080/start_spring_mvc/resources/index.html,确认模版应用运行正常。

6. 可以根据项目需要修改pom.xml文件内容,例如把groupId、artifactId、name、description、finalName修改为项目相应的值。

7. 可以根据项目情况修改web.xml中的webAppRootKey值。

8. 模版的例子控制器类HelloWorld.java放在包com.aggrepoint.start中。如果修改了这个包名,需要相应修改servlet-context.xml中的context:component-scan的base-package属性。