最近在做毕业设计,做的是教学资源网站。有上传下载功能。
我想问一下,
1。学生在向服务器上传文件的时候,作业文件(可能有txt,doc,zip等格式)是要用数据库还是用文件夹装?
如果用数据库装的话,那用什么类型的字段可以装文件?
如果用文件夹装的话, 以后要用的时候怎么办?以后怎么能下载?
2。老师要我实现将相关的文件一次性打包下载。(也就是老师只需要第一次选择下载文件存放位置,就可以下载一个班的作业),我想问一下,开始的打包下载的一个文件夹是怎么创建的?然后后来下载的作业文件怎么样才能都自动放到开始建好的文件夹中??
望大侠回答。谢谢。
望穿秋水盼你回答。
我想问一下,
1。学生在向服务器上传文件的时候,作业文件(可能有txt,doc,zip等格式)是要用数据库还是用文件夹装?
如果用数据库装的话,那用什么类型的字段可以装文件?
如果用文件夹装的话, 以后要用的时候怎么办?以后怎么能下载?
2。老师要我实现将相关的文件一次性打包下载。(也就是老师只需要第一次选择下载文件存放位置,就可以下载一个班的作业),我想问一下,开始的打包下载的一个文件夹是怎么创建的?然后后来下载的作业文件怎么样才能都自动放到开始建好的文件夹中??
望大侠回答。谢谢。
望穿秋水盼你回答。
解决方案 »
- jquery中如何做文本框内回车按下事件
- http网站登录时使用https,从https重定向http时,出现“即将重定向到不安全的连接”,如何能不出现该提示
- Hibernate One-to-One的问题
- Ajax返回信息拆串显示
- 如何在WEB上直接执行.EXE文件?
- 怎么才能在JB9下面使用EJB
- 我将数据库连接作为一个bean封装,怎么样在sevlet中引用它?
- 请教各位关于javabean scope="Application"一个棘手的问题
- 關於jdbc的 兩個問題
- 初学jsp不久,就是不知怎么调用数据库。
- 高分求解?项目不报错,数据也插入部了数据库,贴出重要代码,请高手帮忙解决!!s2sh 虽然文件很多,但很简单的,我真的找不出什么原因,谢谢大家了
- JSP页面乱码的问题
2、通过条件 找到要打包的文件 (将其组织到一个文件夹)用zip打包(用 apache的好点) 然后实现下载
1。我现在只想把毕业设计的网站做出来,其实时间的空间效率我不考虑,我只想做出来就好了。5月分就要交上去了,
2。我的单个文件上传已经可以用了。 但是打包下载的确是个麻烦问题,不会搞。单个文件下载我会。
2。打包的话用apache zip组件包,我用的是TOMCAT服务器,可以用这个组件吗?
如果有人实现过,可不可以给个代码啊?我可能写不出来。这个JSP以前没学过。是自学的,所以有太多不懂。
2。然后就是我还想问一下。
我有SERVLET,要修改:WEB.XML文件。但是当我一修改的时候TOMCAT就不能用了。
不知道该怎么办。
我的WEB.XML代码是:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--><web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"> <display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>
但是当我在</web-app>前加入:
<servlet>
<servlet-name>handleComputer</servlet-name>
<servlet-class>tom.HandleComputer</servlet-class>
</servlet>
</servlet-mapping>
<servlet-name>handleComputer</servlet-name>
<url-pattern>/helpComputer</url-pattern>
</servlet-mapping>后就不行了,服务器不能用。
如果只加
<servlet>
<servlet-name>handleComputer</servlet-name>
<servlet-class>tom.HandleComputer</servlet-class>
</servlet>服务器还是可以用的,但是SERVLET还是不能用。
请问一下。我这种情况怎么解决??
存文件嘛,这个建议不要用数据库存储,那么多文件虽然都不大,不过你想想一个班总会有30+个学生吧,一学期总要交个10+次作业吧,一个老师怎么也要教3+个班吧,一个学期他要有1000+份作业,不说别的这东西一般都放好久,例如考试卷子虽然不用但一直留着。1000+个文件存在服务器上负担都那么大,何况数据库还要不断的读取访问,它不累我看着都累,所以还是存在相应目录下吧!至于这个目录问题,把目录存在数据库里就行了,不用花大量的时间查询数据库,拿到目录交给struts或者相应的文件处理包就成了。当然这里也有个问题你也不能把1000+个文件放到一个文件夹里,张孝祥的那个视频里讲的1000+个文件一个文件夹里面打开要打个几分钟,等得闷都闷死了,具体实现方法去传智播客下视频看看吧~~我不是做宣传的啊,只是单纯的学习知识O(∩_∩)O~
LZ的第二个问题很有意思,考虑一下好像也不太难,制定一个文件夹后,你只要获取相应班级的作业文件路径,存到数组或者啥容器里面,其他的交给实现类吧~~然后去喝茶~~
<servlet-name>handleComputer</servlet-name>
<url-pattern>/helpComputer</url-pattern>
</servlet-mapping>后就不行了,服务器不能用。
错误提示是说:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /showResult.jsp(13,5) Invalid standard action
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1163)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1455)
org.apache.jasper.compiler.Parser.parse(Parser.java:133)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:153)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
tom.HandleComputer.doPost(HandleComputer.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)。。
我的SERVLET文件是:(文件名:HandleComputer.java)
package tom;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*; public class HandleComputer extends HttpServlet{
public void init(ServletConfig config)throws ServletException{
super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ ComputerBean dataBean=null;
HttpSession session=request.getSession(true);
try{
dataBean=(ComputerBean)session.getAttribute("ok");
if(dataBean==null)
{
dataBean=new ComputerBean();
session.setAttribute("ok",dataBean);
}
}catch(Exception e){
dataBean=new ComputerBean();
session.setAttribute("ok",dataBean);
}
double numberOne=Double.parseDouble(request.getParameter("numberOne"));
double numberTwo=Double.parseDouble(request.getParameter("numberTwo"));
String operator=request.getParameter("operator");
double result=0;
if(operator.equals("+")){
result=numberOne+numberTwo;
}
else if(operator.equals("-")){
result=numberOne-numberTwo;
}
else if(operator.equals("*")){
result=numberOne*numberTwo;
}
else if(operator.equals("/")){
result=numberOne/numberTwo;
}
dataBean.setNumberOne(numberOne);
dataBean.setNumberTwo(numberTwo);
dataBean.setOperator(operator);
dataBean.setResult(result);
RequestDispatcher dispatcher=request.getRequestDispatcher("/showResult.jsp");
dispatcher.forward(request,response);
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doPost(request,response);
}
}
我这个程序有点长,不好意思。但是有利于大家找错误时用一下。谢谢。
在下面啊:
public class ComputerBean {
double numberOne,numberTwo,Result;
String operater="+";
public void setNumberOne(double n){
numberOne=n;
}
public double getNumberOne(){
return numberOne;
}
public void setNumberTwo(double n){
numberTwo=n;
}
public double getNumberTwo(){
return numberTwo;
}
public void setOperator(String s){
operater=s.trim();
}
public String getOperator(){
return operater;
}
public void setResult(double n){
Result=n;
}
public double getResult(){
return Result;
}
}
。谢谢,
2.然后将上传文件名获取到(jspsmartupload有方法),然后将文件名存入到数据库,这样数据库占用小,如果存文件在数据库中数据库压力太大
3。编写下载程序,程序原理:通过获取数据库的文件名在上传的目录下找到这个文件即可