/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package servlet.control;
import beans.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
*
* @author Administrator
*/
public class HandleUpload extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
public void init(ServletConfig config)throws ServletException
{
super.init(config);
try{ Class.forName("org.apache.derby.jdbc.ClientDriver");
}
catch(Exception e){}
}
public void uploadFileMethod(HttpServletRequest request,HttpServletResponse response,String logname)
throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
UploadFile upFile=new UploadFile();
String backNews="";
try {
HttpSession session=request.getSession(true);
request.setAttribute("upFile", upFile);
String tempFileName=(String)session.getId();
File f1=new File(tempFileName);
FileOutputStream o=new FileOutputStream(f1);
InputStream in=request.getInputStream();
byte b[]=new byte[10000];
int n;
while((n=in.read(b))!=-1)
{
o.write(b, 0, n);
}
o.close();
in.close();
RandomAccessFile random=new RandomAccessFile(f1,"r");
int second=1;
String secondLine=null;
while(second<=2)
{
secondLine=random.readLine();
second++;
}
int position=secondLine.lastIndexOf('\\');
String fileName=secondLine.substring(position+1, secondLine.length()-1);
byte cc[]=fileName.getBytes("ISO-8859-1");
fileName=new String(cc);
fileName=fileName.replaceAll(" ","");
String checkedStr=fileName.substring(0, fileName.indexOf("."));
boolean isLetterOrDigit=true;
for(int i=0;i<checkedStr.length();i++)
{
char c=checkedStr.charAt(i);
if(!((c<='z'&&c>='a')||(c<='Z'&&c>='A')||(c<='9'&&c>='0')))
{
isLetterOrDigit=false;
break;
}
}
if(isLetterOrDigit==false)
{
response.sendRedirect("upload.jsp");
}
String savedFileName=logname.concat(fileName);
random.seek(0);
long forthEndPosition=0;
int forth=1;
while((n=random.readByte())!=-1&&(forth<=4))
{
if(n=='\n')
{
forthEndPosition=random.getFilePointer();
forth++;
}
}
File dir=new File("C:/Documents and Settings/Administrator/My Documents/NetBeansProjects/net_advertise_system/web/imag");
dir.mkdir();
File file[]=dir.listFiles();
for(int k=0;k<file.length;k++)
{
if(file[k].getName().startsWith(logname))
file[k].delete();
}
File savingFile=new File(dir,savedFileName);
RandomAccessFile random2=new RandomAccessFile(savingFile,"rw");
random.seek(random.length());
long endPosition=random.getFilePointer();
long mark=endPosition;
int j=1;
while((mark>=0)&&(j<=6))
{
mark--;
random.seek(mark);
n=random.readByte();
if(n=='\n')
{
endPosition=random.getFilePointer();
j++;
}
}
random.seek(forthEndPosition);
long startPoint=random.getFilePointer();
while(startPoint<endPosition-1)
{
n=random.readByte();
random2.write(n);
startPoint=random.getFilePointer();
}
random2.close();
random.close();
String uri="jdbc:derby://localhost:1527/net_adv-db";
Connection con=DriverManager.getConnection(uri, "net", "adv");
Statement sql=con.createStatement();
ResultSet rs=sql.executeQuery("select* from member where logname='"+logname+"'");
if(rs.next())
{
if(isLetterOrDigit)
{
int mm=sql.executeUpdate("UPDATE member SET pic='"+savedFileName+"' where logname='"+logname+"'");
if(mm!=0)
{
backNews=fileName+"成功上传";
upFile.setFileName(fileName);
upFile.setSavedFileName(savedFileName);
upFile.setBackNewse(backNews);
}
}
}
con.close();
f1.delete();
}
catch (Exception ex){
backNews=""+ex;
upFile.setBackNewse(backNews);
}
RequestDispatcher dispatcher=request.getRequestDispatcher("showUploadMess.jsp");
dispatcher.forward(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession(true);
login Login=(login)session.getAttribute("login");
boolean ok=true;
if(Login==null)
{
ok=false;
response.sendRedirect("login.jsp");
}
if(ok==true)
{
String logname=Login.getLogname();
uploadFileMethod(request,response,logname);
}
try {
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
一个jsp小例子-广告系统
共71个文件
jsp:16个
class:15个
java:11个
4星 · 超过85%的资源 需积分: 11 32 下载量 115 浏览量
2009-05-17
14:12:38
上传
评论
收藏 6.12MB RAR 举报
温馨提示
一个jsp做的广告系统,工具使用netbeans
资源推荐
资源详情
资源评论
收起资源包目录
net_advertise_system.rar (71个子文件)
net_advertise_system
test
dist
net_advertise_system.war 3.21MB
src
conf
MANIFEST.MF 25B
java
servlet
control
HandleLogin.java 5KB
HandleExit.java 2KB
HandleUpload.java 7KB
handleRegister.java 4KB
beans
login.java 822B
Register.java 1KB
UploadFile.java 679B
web
login.jsp 521B
head.jsp 619B
Register.jsp 1KB
WEB-INF
web.xml 2KB
classes
index.jsp 268B
upload.jsp 790B
META-INF
context.xml 101B
showLoginMess.jsp 545B
imag
welcom.jpg 121KB
public.jpg 8KB
qWater lilies.jpg 82KB
showUploadMess.jsp 741B
showRegisterMess.jsp 1KB
build
generated
src
org
apache
jsp
showUploadMess_jsp.class.smap 161B
index_jsp.class.smap 85B
Register_jsp.class.smap 93B
Register_jsp.java 4KB
upload_jsp.class.smap 91B
showUploadMess_jsp.java 4KB
upload_jsp.java 3KB
index_jsp.java 3KB
classes
org
apache
jsp
Register_jsp.class 5KB
showUploadMess_jsp.class 5KB
upload_jsp.class 5KB
index_jsp.class 4KB
web
login.jsp 521B
head.jsp 619B
Register.jsp 1KB
WEB-INF
web.xml 2KB
lib
derbynet.jar 220KB
derby.jar 2.33MB
derbyclient.jar 502KB
classes
servlet
control
HandleDatabase.class 7KB
HandleRegister.class 5KB
HandleExit.class 3KB
beans
HandleLogin.class 5KB
hanleRegister.class 3KB
HandleUpload.class 7KB
beans
UploadFile.class 960B
Register.class 2KB
showByPage.class 2KB
login.class 1KB
MemberInform.class 2KB
.netbeans_automatic_build 0B
index.jsp 268B
upload.jsp 790B
META-INF
context.xml 101B
MANIFEST.MF 25B
showLoginMess.jsp 545B
imag
welcom.jpg 121KB
public.jpg 8KB
qWater lilies.jpg 82KB
showUploadMess.jsp 741B
showRegisterMess.jsp 1KB
build.xml 3KB
nbproject
build-impl.xml 43KB
private
private.xml 211B
private.properties 2KB
ant-deploy.xml 2KB
project.properties 2KB
project.xml 923B
genfiles.properties 455B
共 71 条
- 1
资源评论
- xiaochangxin2012-09-06难道是我软件有问题,运行不了这个项目啊。。
haojie_java_ms
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功