简易新闻模板:freemarker+maven

来源:互联网 发布:tpp ttip 知乎 编辑:程序博客网 时间:2024/06/05 16:52
freemaker+maven:新闻模板
项目类型:war
maven:导入对应的jar包
freemarker: 生成新闻的样板


web.xml中配置
<servlet>
  <servlet-name>freemarker</servlet-name>
  <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
    
  <!-- 模板的查找路径 从上下文路径查找 ftl文件 -->
  <init-param>
    <param-name>TemplatePath</param-name>
    <param-value>/</param-value>
  </init-param>
  <!-- 是否需要缓存(不需要) -->
  <init-param>
    <param-name>NoCache</param-name>
    <param-value>true</param-value>
  </init-param>
  <!-- 最终显示格式:html -->
  <init-param>
    <param-name>ContentType</param-name>
    <param-value>text/html;charset=UTF-8</param-value>
  </init-param>
    
  <!-- 根据缓存来设置定时刷新,没有缓存设置0 -->
  <init-param>
    <param-name>template_update_delay</param-name>
    <param-value>0</param-value> <!-- 0 is for development only! Use higher value otherwise. -->
  </init-param>
  <!-- 设置默认字符集 -->
  <init-param>
    <param-name>default_encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
  <!--数字显示格式,小数位  -->
  <init-param>
    <param-name>number_format</param-name>
    <param-value>0.##</param-value>
  </init-param>
<!-- >=0 servlet在 tomcat容器启动时实例化 ,<0 servlet在被访问时实例化-->
  <load-on-startup>1</load-on-startup>
</servlet>


<servlet-mapping>
  <servlet-name>freemarker</servlet-name>
  <url-pattern>*.ftl</url-pattern>
</servlet-mapping> 






新建一个maven项目war(后台),使用freeMark,加入对应的jar包,通过HTML提交数据到
servlet插入到数据库,插入数据的同时通过ftl文件生成HTML文件




新建一个maven项目war(前台),建立一个定时任务,任务是定时从数据库刷新数据
通过ftl文件传到一个html文件,HTML中的数据带有链接,
点击跳转到servlet读取数据,然后响应数据


使用jar包:commons-io


String htmlPath=request.getParameter("htmlPath");
    
    String path=HTML_DIR+htmlPath;
    
    byte[] bs=FileUtils.readFileToByteArray(new File(path));
    
    response.getOutputStream().write(bs);


启动:后台启动添加数据,前台启动定时器(定时刷新main方法),前台启动查看
原创粉丝点击