jsp生成html---pnews_in.jsp

原创 2005年05月28日 01:21:00
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.text.*" %>
<%@ page import="javax.servlet.*,javax.servlet.http.*"%>
<jsp:useBean id="conn" scope="page" class="DBLink.DBSQL"/>
<jsp:useBean id="ReadTemplates" scope="page" class="ball.news.ReadTemplates"/>
<jsp:useBean id="WriteHtml" scope="page" class="ball.news.WriteHtml"/>
<jsp:useBean id="ReplaceAll" scope="page" class="ball.news.ReplaceAll"/>
<%
    //request.setCharacterEncoding("gb2312");
    
  try{
        String dir=request.getRealPath(".");
        DiskFileUpload fu = new DiskFileUpload();
   
        
        fu.setSizeMax(4194304);                 //设置文件大小.  这里文件只能上传4M以内的

        fu.setSizeThreshold(4096);              //设置缓冲大小.

        fu.setRepositoryPath(dir+"/ball/news/images");      //设置临时目录.
  
        List fileItems = fu.parseRequest(request);  //解析请求,返回一个集合.
        

        Iterator i = fileItems.iterator();
        String fieldvalue="";
        String ff = "";
  String picname="false";
  Object tt = "";
  Vector v = new Vector();
  
        while(i.hasNext()) 
     {
     
         FileItem fi = (FileItem)i.next();
  
    if(fi.isFormField())                        //这是用来确定是否为文件属性, 
     {
      
     String fieldName = fi.getFieldName();     //这里取得表单名
     fieldvalue=fi.getString();        //这里取得表单值
      
  v.addElement(fieldvalue);
    
     }
  
     else                                           //这里开始外理文件
  {
  
   File fullFile = new File(fi.getName()); 
   ff = fullFile.getName();
   String rr = "";


   java.util.Date date2 = new java.util.Date();
   SimpleDateFormat formatter = new SimpleDateFormat ("yyyyMMddHHmmss");   //取得时间
      String str2 = formatter.format(date2);
   StringTokenizer st = new StringTokenizer(ff,".");
         if (st.hasMoreTokens()){
          String test12 = st.nextToken();
          rr = st.nextToken();
          //System.out.println(rr);
         }
         if (rr.equals("")&&!rr.equals("gif")&&!rr.equals("jpg")&&!rr.equals("jpeg")) 
      {
    picname = "false";
   }
   
   else
      {
             picname = str2+"."+rr;     //以时间为图片名称

                File savedFile = new File(getServletContext().getRealPath("/ball/news/images/"),picname);
   
                fi.write(savedFile);     //上传到服务器
            }
   //System.out.println("picname------------------------"+picname);
     } 
  //System.out.println("v------------------------"+v);
   }
    String[] flag = {"<temp_title>","<temp_date>","<temp_author>","<temp_content>","<str_Temp>","<temp_picture>"};

    //将数据写入到数据库
    Object newtype1 = v.elementAt(0);
       String t = newtype1.toString();
    int newtype = Integer.parseInt(t);
    Object rowid1 = v.elementAt(1);
    String rowid = rowid1.toString();
    Object title1 = v.elementAt(2);
    String title = title1.toString();
    Object content1 = v.elementAt(3);
    String content = content1.toString();
   // System.out.println(down);
    java.util.Date date = new java.util.Date();
       String strdate = date.toLocaleString(); 

 java.util.Date StrDate1 = new java.util.Date();
 String StrDate = StrDate1.toLocaleString();   // 新闻发布时间
 //String newtype="0";
 conn.openDB();
 String sql = "select top 5 * from b_news where newtype="+newtype+" order by id desc";
 String strTemp="<tr><td>相关新闻</td></tr>";
 ResultSet rs = conn.executeQuery(sql);
 while (rs.next())
    {
   String t2 = rs.getString(2);
   String t4 = rs.getString(4);
   strTemp += "<tr><td>";
   strTemp +="<a href=../../../"+t4+">";
   strTemp += t2;
   strTemp +="</a>";
   }
    strTemp +="</td></tr>";
    rs.close();

 
 //读取模板

 String filePath = "";
 filePath = request.getRealPath("//ball//news//pnews.template");
 String templateContent = null;
 try{
  templateContent = ReadTemplates.getTlpContent(filePath);
  System.out.println(templateContent);
 }
 catch(Exception e)
  {
   System.out.println("error to template!");
  }
 //替换模板中的内容
 //System.out.println("picname--------------------------------"+picname);
    
 templateContent = ReplaceAll.replace(templateContent,flag[0],title);
 templateContent = ReplaceAll.replace(templateContent,flag[1],StrDate);
 //templateContent = ReplaceAll.replace(templateContent,flag[2],editer);
 templateContent = ReplaceAll.replace(templateContent,flag[3],content);
 templateContent = ReplaceAll.replace(templateContent,flag[4],strTemp);
 templateContent = ReplaceAll.replace(templateContent,flag[5],picname);

 // 根据时间得文件名与路径名
 
 Calendar calendar = Calendar.getInstance();
 String fileName = String.valueOf(calendar.getTimeInMillis()) +".html";
 String pathName = request.getRealPath("ball/news")+"//"+ calendar.get(Calendar.YEAR) + "//"+ (calendar.get(Calendar.MONTH)+1) +"//"+ calendar.get(Calendar.DAY_OF_MONTH)+"//"; 
 String url = calendar.get(Calendar.YEAR) + "/"+ (calendar.get(Calendar.MONTH)+1) +"/"+ calendar.get(Calendar.DAY_OF_MONTH)+"/";
 url +=fileName;
 //System.out.println(url);

 try{
  WriteHtml.save(templateContent,pathName,fileName);
 }catch(Exception e){
 System.out.println("error to html!-----------"+e.getMessage());
 }

 
   //写入数据库
   String sqlInsert = null;
    if (!picname.equals("false")){
     sqlInsert = "insert into b_news (title,content,url,picture,newtype,addtime,rowid) values ('"+title+"','"+content+"','"+url+"','"+picname+"','"+newtype+"',getdate(),'"+rowid+"')";
    }
 else
 {
   picname="images/"+picname;
   sqlInsert = "insert into b_news (title,content,url,newtype,addtime,rowid) values ('"+title+"','"+content+"','"+url+"','"+newtype+"',getdate(),'"+rowid+"')";
 }
 //System.out.println("sql insert---------------"+sqlInsert);
 conn.executeUpdate (sqlInsert);
   } 
   catch(Exception e)
    {
    System.out.println("upload error------------------"+e.getMessage());
     }
    
  
    
%>
<%out.println("新闻生成html成功了!");%>

jsp生成html---pnews_in.jsp

    //request.setCharacterEncoding("gb2312");      try{        String dir=request.getRealPath("."); ...
  • ziying
  • ziying
  • 2004年11月17日 10:32
  • 1307

Jsp生成页面验证码

验证码是用来进行登录验证的一个有效方式,下面就为大家讲解如何在jsp中使用。下面仅介绍最简单的实现方法,稍后我们还会加入Ajax等来使验证更为正式。 本文直接使用jsp页面作为载体,也就是说直接把生...
  • wangjinyu501
  • wangjinyu501
  • 2012年06月19日 16:37
  • 2960

Java 使用JSP页面生成随机验证码

ra.jsp页面
  • liuhuan_669544347
  • liuhuan_669544347
  • 2014年10月24日 15:23
  • 879

JSP 静态生成html的原理

在性能上讲,即使将JSP或ACTION转换成HTML文件还是不如将某张JSP或某个ACTION缓存起来再作应响这种策略。但是,对大型的系统,JSP页面和ACTION可能成千上万,页每张JSP或每个AC...
  • a416090287
  • a416090287
  • 2015年09月24日 09:30
  • 1585

JSP 生成静态HTML页面

JSP 生成静态HTML页面
  • JavaAlpha
  • JavaAlpha
  • 2015年09月18日 13:02
  • 2361

最简单的验证码(利用JSP生成验证码)

可以直接利用jsp输出验证码。jsp文件如下:
  • qq_25821067
  • qq_25821067
  • 2016年08月29日 20:36
  • 8608

jsp生成json数据

在http://code.google.com/p/json-simple上有个jar包,导入放到工程中的\WEB-INF\lib中 新建jsp页面 import="org.json...
  • leansmall
  • leansmall
  • 2017年11月17日 20:24
  • 134

动态jsp生成静态html网页

网站提高性能的方案有很多,网站架构方面考虑,最初的性能优化可以考虑提高单台服务器的配置。把数据库 和代码分别部署在两台服务器,页面缓存,数据缓存,静态化,分布式,代码读写分离,负载均衡。这些东西...
  • scyxm0426
  • scyxm0426
  • 2016年02月03日 17:07
  • 2566

使用JSP页面生成PDF报表

转载自:http://developer.51cto.com/art/200907/134261.htm 1、iText简介 iText是一个开放源码的Java类库,可以用来方便地生成...
  • u012377333
  • u012377333
  • 2015年11月10日 17:14
  • 3125

JSP中利用JFreechart生成图表

首先要下载必备的jar包,jfreechart.jar和jcommon.jar, 然而在web.xml文件中配置 DisplayChart org.jfree.chart.servl...
  • qq_24486393
  • qq_24486393
  • 2015年08月07日 15:53
  • 1754
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jsp生成html---pnews_in.jsp
举报原因:
原因补充:

(最多只允许输入30个字)