样式模版可以上站长之家找,无须自行设计
jsp编码问题:
保证dreamweaver中jsp的文件编码为utf-8
将下面两行加入每个有页面输出的jsp头部。(在include的common jsp中加不起作用)
<%@page contentType="text/html;charset=utf-8" %> ## 保证页面输出header中编码为utf8
<%@page pageEncoding="utf-8" %> ## 保证jsp中的java字符串编码为utf8
jsp include
分两种:
<%@ include file=”relativeURI”%> 是在翻译阶段执行,将include的jsp文件直接编译到一个servlet中。 (变量两边可见)
<jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行. 于父页面是两个不同的servlet。 (变量不可见)
关于文件路径:
ABC.class.getResource(".").getPath() // 获取当前class在文件系统中的路径
req.getSession().getServletContext().getRealPath("/") // 获取当前web容器的webapp在操作系统中的路径
关于文件上传 (使用apache开源包fileupload)
//<form action="/upload.jsp" method="post" enctype="multipart/form-data" >
MultipartHttpServletRequest multipartRequest = new CommonsMultipartResolver(req.getSession().getServletContext()).resolveMultipart(req);
MultipartFile file = multipartRequest.getFile("ppt"); // <input type="file" name="ppt />
String fileName = file.getOriginalFilename();
pptName[index] = fileName; // filename of local file
String pptDir = req.getSession().getServletContext().getRealPath("/") + "ppt"; // upload to http://localhost/ppt/
File f = new File(pptDir + "/" + fileName);
if(f.exists()) f.delete();
InputStream is = file.getInputStream();
FileOutputStream fo = new FileOutputStream(f);
byte[] buff = new byte[1024];
int l = -1;
while((l = is.read(buff, 0, 1024)) > 0) {
fo.write(buff, 0, l);
}
is.close();
fo.close();