- 浏览: 707859 次
- 来自: ...
文章分类
最新评论
-
ranguisheng:
可以加点注释,代码不便于阅读.
用java实现数据库连接池的一个简单示例 -
abcd880129:
这样写的话,还要用专门的下载工具,不然,只能下到一个为空的ex ...
ZK下载文件时,不在服务器生成文件直接下载 -
234369425:
同上,是20
java计算阶乘 -
CodeToMyLaw:
如果目录中含有中文呢?
[^\x00-\xff] 中文的 ...
js验证文件目录格式的正确性 -
yanzhoupuzhang:
加了,还是报那个错误!
org.apache.commons.dbcp.BasicDataSource的解决方法
1.在server.xml文件中建立数据源.
2.在web.xml文件中配置servlet
3.newsXmlServlet.java
4.news.ftl
<Service name="Cms"> <Connector debug="0" enableLookups="false" port="8084" protocol="AJP/1.3" redirectPort="8443"/> <Connector acceptCount="100" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8081" redirectPort="8443"/> <Engine defaultHost="localhost_Cms" name="Catalina_Cms"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_cmt_log." suffix=".txt" timestamp="true"/> <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/> <Host autoDeploy="true" debug="0" name="localhost_Cms" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context debug="0" docBase="D:WorkspaceCMSweb" path="/" reloadable="true" workDir="D:WorkspaceCMSj2src"> <Resource name="jdbc/news_DB" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/news_DB"> <parameter> <name>factory</name> <!-- DBCP Basic Datasource Factory --> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>maxActive</name> <value>1000</value> </parameter> <parameter> <name>validationQuery</name> <value>select 1+1</value> </parameter> <parameter> <name>maxIdle</name> <value>100</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <parameter> <name>removeAbandonedTimeout</name> <value>60</value> </parameter> <parameter> <name>logAbandoned</name> <value>false</value> </parameter> <parameter> <name>username</name> <value>aaaa</value> </parameter> <parameter> <name>password</name> <value>bbbbbb</value> </parameter> <parameter> <name>driverClassName</name> <value>net.sourceforge.jtds.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:jtds:sqlserver://111.111.111.111:1433/cms</value> </parameter> </ResourceParams> </Context> </Host> </Engine> </Service>
2.在web.xml文件中配置servlet
<servlet> <description>generate xml file</description> <servlet-name>NewsXmlServlet</servlet-name> <servlet-class>xml.NewsXmlServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>NewsXmlServlet</servlet-name> <url-pattern>/xmlServlet</url-pattern> </servlet-mapping> <servlet>
3.newsXmlServlet.java
package xml; import java.io.*; import java.nio.charset.Charset; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; import java.util.Locale; public class NewsXmlServlet extends HttpServlet...{ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException ...{ // TODO Auto-generated method stub try ...{ Connection conn=null; Context ctx = new InitialContext(); DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/news_DB"); conn=ds.getConnection(); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery("select url,updatetime,tpf_edu_contentTitle,tpf_edu_contentneirong,tpf_edu_contentlaiyuan,tpf_edu_contentkeyword from tp5__edu_content where url<>'' and url is not null and dateDiff(d,updatetime,getDate())=1 order by updatetime desc"); Configuration cfg=new Configuration(); cfg.setDirectoryForTemplateLoading(new File("E:/wwwroot/CMS/web/WEB-INF/classes/xml")); Template tem=cfg.getTemplate("news.ftl"); List list=new ArrayList(); OutputStreamWriter out=new OutputStreamWriter(System.out); while(rs.next())...{ Map item=new HashMap(); item.put("title",rs.getString(3)); item.put("link","http://test.com.cn"+rs.getString(1)); item.put("pubdate",rs.getTimestamp(2)); item.put("content",DelHtml(rs.getString(4))); item.put("source",rs.getString(5)); item.put("keywords",DelHtml(rs.getString(6))); list.add(item); } Map data=new HashMap(); data.put("items",list); StringWriter writer=new StringWriter(); tem.process(data,writer); String content=writer.toString(); writer.close(); createXml(content); out.close(); //resp.setContentType("text/xml; charset=utf-8"); //resp.getWriter().write(content); } catch (NamingException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } catch (TemplateException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } public String DelHtml(String content)...{ String contents=content.replaceAll("<\/?\s*(\S+)(\s*[^>]*)?\s*\/?>",""); contents=contents.replaceAll("“", "”"); contents=contents.replaceAll("”","”"); contents=contents.replaceAll("“", "‘"); contents=contents.replaceAll("”","’"); contents=contents.replaceAll("·","·"); contents=contents.replaceAll("—","—"); contents=contents.replaceAll("…","…"); contents=contents.replaceAll(" ",""); contents=contents.replaceAll(","," "); return contents; } public void createXml(String fileContent)...{ try ...{ String filePath="E:/wwwroot/cmsHtml/education/news.xml"; File fileXml=new File(filePath); if(!fileXml.exists())...{ fileXml.createNewFile(); } /**//*FileWriter fileWriter=new FileWriter(fileXml); fileWriter. fileWriter.write(fileContent); fileWriter.close();*/ OutputStreamWriter writer=new OutputStreamWriter(new FileOutputStream(fileXml), Charset.forName("utf-8")); writer.write(fileContent); writer.close(); } catch (IOException e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } public void destroy() ...{ // TODO Auto-generated method stub super.destroy(); } public void init() throws ServletException ...{ // TODO Auto-generated method stub super.init(); } }
4.news.ftl
<?xml version="1.0" encoding="utf-8" ?> <document> <webSite>edu.aweb.com.cn</webSite> <webMaster>webmaster@aweb.com.cn</webMaster> <updatePeri>1440</updatePeri> <#list items as it> <item> <title><![CDATA[$...{it.title}]]></title> <link>$...{it.link}</link> <pubDate>$...{it.pubdate}</pubDate> <text><![CDATA[$...{it.content}]]></text> <image/> <source>$...{it.source}</source> <keywords><![CDATA[$...{it.keywords}]]></keywords> </item> </#list> </document>
发表评论
-
Request用法
2009-06-10 14:42 2187转载:http://hi.baidu.com/yuanaish ... -
jsp及Servlet面试题
2009-06-10 14:40 49131、jsp有哪些内置对象作用分别是什么 答:JSP共有以下9种 ... -
FreeMarker 设计指南 - 4
2009-05-10 12:09 1085转载:http://blog.csdn.net/b ... -
FreeMarker 设计指南 - 3
2009-05-10 12:03 1106转载:http://blog.csdn.net/bukebus ... -
FreeMarker 设计指南 - 2
2009-05-10 11:57 989转载:http://blog.csdn.net/bukebus ... -
FreeMarker 设计指南 - 1
2009-05-10 11:54 1040转载:http://blog.csdn.net/bukebus ... -
FreeMarker 简介
2009-05-10 11:38 1066转载:http://blog.csdn.net/b ... -
freemarker(5)Include的使用
2009-05-09 15:38 4416转载:http://tech.ddvip.com pack ... -
freemarker(4)&lt;#list 的使用
2009-05-09 15:35 1671转载: packagefreemarker; i ... -
freemarker(3)IF语句的使用
2009-05-09 15:32 4782转载:http://tech.ddvip.com ... -
freemarker(2)给模板传递参数的测试
2009-05-09 15:26 1457转载:http://tech.ddvip.com pa ... -
freemarker(1)老紫竹的第一个freemaker程序
2009-05-09 15:23 927转载:[url]http://tech.ddvip.com [ ... -
JSTL 常用标签属性
2009-04-29 10:35 1441以下属性基于JSTL1.1 一般用途的标签:<c:ou ... -
用自定义标签实现分页
2009-04-24 16:44 1565转载:http://blog.csdn.net/x ... -
如何获取文件属性---java.io.File类
2009-04-03 14:01 5426<%@ page language="ja ... -
用javabean在JSP页面中实现进度条效果
2009-04-03 14:00 4614public class TaskBean extends ... -
jsp中文问题解决方案(完整版)
2009-04-03 13:57 1721开发java应用出现乱码是很常见的,毕竟现在unicode的使 ... -
用Servlet过滤器去除JSP页面中的乱码
2009-04-03 11:48 1258import java.io.IOException; ... -
JSP彩色验证码
2009-04-03 11:30 962<%@ page contentType=" ... -
含字母、数字的Servlet图形验证码
2009-04-03 11:15 2073import java.awt.Color; impor ...
相关推荐
在Java应用中,FreeMarker通常与Servlet容器一起使用,用于生成动态网页内容,但也可以用来生成任何类型的文本输出,包括PDF。 接下来是Itext。Itext提供了一系列API,可以方便地创建PDF文档,包括添加文本、图像、...
3. **MyBatis配置**:配置MyBatis的核心配置文件(mybatis-config.xml),包括数据源、事务管理器、SqlSessionFactory等。同时,编写Mapper接口和对应的XML映射文件,定义SQL语句。 4. **Freemarker模板**:创建...
在Web应用中,FreeMarker接收从后台传递的数据,结合模板文件生成用户友好的页面,实现了视图层的分离,提高了代码的可维护性。 Mycat作为数据库中间件,它的工作原理是将一个大数据库切分为多个小数据库,通过负载...
- 配置MyBatis的主配置文件(`mybatis-config.xml`),包括数据源、Mapper扫描路径等。 - 设计数据库表结构,编写对应的实体类和Mapper接口。 - 编写Mapper XML文件,编写SQL语句,实现数据的增删改查操作。 - ...
- `spring-servlet.xml`:Spring MVC的配置文件,包含Bean定义,如视图解析器、数据源、MyBatis的SqlSessionFactory等。 - `mybatis-config.xml`:MyBatis的全局配置文件,定义了数据源、事务管理器等。 - `mapper`...
在`applicationContext.xml`中,我们将配置数据源和Hibernate的SessionFactory。数据源用于连接到数据库,SessionFactory则为操作数据库提供对象/关系映射(ORM)支持。对于SQL查询,我们可以在Service层编写,通过...
INF`下的`web.xml`和`dispatcher-servlet.xml`等Spring MVC配置文件以及`WEB-INF/views`下的FreeMarker模板文件)。此外,可能还包含了示例的Controller、Service、DAO以及FreeMarker模板文件,以便初学者理解和学习...
通过配置hibernate.cfg.xml文件,我们可以定义数据源、映射文件等。实体类使用了@Entity注解,表明它们是数据库表的映射。同时,@Id标注主键字段,@GeneratedValue则指定了主键生成策略。使用Session对象进行CRUD...
2. **spring-servlet.xml**:Spring MVC的核心配置文件,定义了Bean的定义、数据源、视图解析器(可能是FreeMarkerViewResolver)、以及Controller的映射。 3. **Controller类**:例如`HelloWorldController.java`...
1. 配置Spring:设置Spring的核心配置文件(如`applicationContext.xml`),定义bean的定义和依赖关系,包括数据源、SessionFactory、事务管理器等。 2. 配置Spring MVC:创建`web.xml`文件,配置DispatcherServlet...
3. WEB-INF:web应用的目录,包含web.xml配置文件,以及Spring MVC的servlet配置。 4. lib:存放项目的依赖库,包括Spring、Hibernate、FreeMarker等框架的jar包。 在实际开发中,通过Spring MVC的...
在Java Web应用中,FreeMarker通常与Servlet容器结合使用,用于生成动态网页内容。在这个项目中,FreeMarker被用来渲染后台管理系统的界面,允许开发者将业务逻辑与视图层分离,提高代码的可维护性和灵活性。 3. **...
FreeMarker 是一个强大的模板引擎,主要用于将数据模型与模板结合,生成各种文本输出,包括但不限于HTML、XML、RTF和Java源代码等。它的核心理念是分离表现层(视图)和业务逻辑层(模型),使得开发者能够专注于...
在本实例中,"自写FreeMarker导出数据为EXcel"是利用FreeMarker模板语言和Servlet技术来生成Excel文件,方便地导出数据。下面将详细介绍这个过程以及涉及的相关知识点。 1. **FreeMarker模板引擎**: FreeMarker是...
在Structs2.0中,`WEB-INF/web.xml`文件是应用的部署描述符,定义了应用的初始化参数、Servlet和Filter的映射等。 总的来说,"Freemarker+Structs2.0文章上传生成静态页面"系统是一个高效、灵活的解决方案,它结合...
4. 如果仍然存在问题,检查系统环境变量和数据模型的编码,确保数据源的编码与项目编码相匹配。 5. 最后,尝试统一项目编码为UTF-8,这是最简单且最有效的解决方案。 通过上述方法,可以有效地解决Freemarker中出现...
2. **配置Spring MVC**:在`WEB-INF`目录下创建`dispatcher-servlet.xml`文件,配置Spring MVC的核心组件,包括视图解析器(FreeMarkerViewResolver),如: ```xml <bean class="org.springframework.web.servlet...
虽然 FreeMarker 具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由 FreeMarker 生成页面,通过模板显示准备的数据。 -FreeMarker 的特性: 1. 通用目标:能够生成各种文本:HTML、XML、RTF、Java 源...
这些配置文件定义了组件的bean,数据源,视图解析器,扫描的包路径等。 9. **FreeMarker配置**:在SpringMVC中,需要配置FreeMarkerViewResolver,指定模板路径和文件扩展名,以便于SpringMVC能够找到并解析...
FreeMarker 是一款模板引擎,它主要功能是基于模板和变动的数据来生成输出文本,这些文本可以是 HTML 网页、电子邮件、配置文件、源代码等。这款工具并非面向最终用户,而是作为一个 Java 类库被程序员嵌入到他们...