<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<%@page import="java.net.*"%>
<%
String filename = "";
if (request.getParameter("file") != null) {
filename = request.getParameter("file");
}
response.setContentType("application/msword");
response.setHeader("Content-disposition","attachment; filename="+filename);
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(getServletContext().getRealPath("" + filename)));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff,0,bytesRead);
}
} catch(final IOException e) {
System.out.println ( "出现IOException." + e );
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
return;
%>
详细出处参考:http://www.jb51.net/article/2631.htm ......
有的页面需要每次点击进去都动态更新,而不是读取缓存中的页面。
在JSP中可以这样实现:
<%
request.setCharacterEncoding("GBK");
response.addDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
%> ......
************************************************************************
分页的代码:
--------------CSS样式--------------
<style type="text/css">
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
body table tr td table tr {
background-color: #FFF;
}
.pages {
padding-bottom: 2px;
padding-left: 0px;
padding-right: 0px;
padding-top: 2px;
float:right;
}
.pages a {
border-bottom: 1px solid;
border-left: 1px solid;
padding-bottom: 0px;
line-height: 20px;
padding-left: 6px;
padding-right: 6px;
float: left;
height: 20px;
overflow: hidden;
border-top: 1px solid;
margin-right: 2px;
border-right: 1px solid;
padding-top: 0px;
border-bottom-color: #e6e7e1;
background-color: #fff;
border-top-color: #e6e7e1;
color: #09c;
border-right-color: #e6e7e1;
border-left-color: #e6e7e1
}
. ......
第一种 JavaScript连接数据库:
<mce:script language="JavaScript"><!--
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.210;UID=xhb;PWD=xhb;DATABASE=books";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
var objrs = objdbConn.Execute("SELECT * from book");
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
document.write("<table border=1><tr>");
// 显示数据库的字段名称
for (var i=0; i <= fdCount; i++)
document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
document.write("</tr>");
// 显示数据库内容
while (!objrs.EOF){
document.write("<tr>");
// 显示每笔记录的字段
for (i=0; i <= fdCount; i++)
document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>");
document.write("</tr>");
......
第一种 JavaScript连接数据库:
<mce:script language="JavaScript"><!--
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.210;UID=xhb;PWD=xhb;DATABASE=books";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
var objrs = objdbConn.Execute("SELECT * from book");
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
document.write("<table border=1><tr>");
// 显示数据库的字段名称
for (var i=0; i <= fdCount; i++)
document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
document.write("</tr>");
// 显示数据库内容
while (!objrs.EOF){
document.write("<tr>");
// 显示每笔记录的字段
for (i=0; i <= fdCount; i++)
document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>");
document.write("</tr>");
......
第一种 JavaScript连接数据库:
<mce:script language="JavaScript"><!--
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.210;UID=xhb;PWD=xhb;DATABASE=books";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
var objrs = objdbConn.Execute("SELECT * from book");
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
document.write("<table border=1><tr>");
// 显示数据库的字段名称
for (var i=0; i <= fdCount; i++)
document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
document.write("</tr>");
// 显示数据库内容
while (!objrs.EOF){
document.write("<tr>");
// 显示每笔记录的字段
for (i=0; i <= fdCount; i++)
document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>");
document.write("</tr>");
......
用的是MySql数据库,里面有数据库的脚步,运行bbs.sql文件就可以了。
用的MVC模式,用jsp 做显示页面,用servlet做控制层,用JavaBean做模型层
下载地址:
http://www.800disk.com/ContentPane.aspx?down=ok&filepath=lcbjava%2fMybbs.rar
把上面的地址复制到浏览器就可以下载 ......
我们在写一个jsp页面,要使用struts2标签,我们要首先要在jsp页面头部放:<%@ taglib prefix="s" uri="/struts-tags" %>,当然要放struts2的jar包了。我们可以刷新一下此页面,比如把这个页面保存后再打开,目的是在写struts2标签时,有struts2标签自动提示功能。
......