小兔Java教程 – 三分钟学会Java文件上传

图片 8

今天写代码的时候因为要进行一些数据验证,所以使用了hibernate
validate来进行数据的校验,代码都写好之后,启动tomcat一直报错,我下载的是最新的版本

Paste_Image.png

安装tomcat 8.0

楼主实在 tomcat 8 下进行的安装配置,各位看官可以任意选择 tomcat
版本(最后 tomcat 6 以上)

  1. 下载 tomcat 对应版本并解压到自己的工作目录(下载地址

  2. 下载 solr 6.4.2 版本并解压到自己的工作目录(下载地址

将 tomcat 8 与 solr 解压到工作目录后(本文以
E:Demo盘为准发布教程),建立solrhome目录。如图所示存在这三个文件夹那么安装环节就可以了

图片 1Paste_Image.png

  1. solr-6.4.2serversolr-webapp目录下的 webapp
    文件夹复制到tomcatwebapps下,改名为solr。

  2. solr-6.4.2serverlibext文件夹底下的 lib
    包全部复制到tomcatwebapps底下的solr/WEB-INF/libs/中,这个是启动solr需要的部分
    lib 包。

  3. solr-6.4.2serverresources 目录下 log4j.properties 到 tomcat
    底下webappssolrWEB-INFclasses文件夹下(如果没有则需要创建一个classes文件夹),这个这个是log4j的配置文件。

  4. solr-6.4.2dist 目录下的
    solr-dataimporthandler-6.4.2.jarsolr-dataimporthandler-extras-6.4.2.jar也复制到tomcatwebapps底下的solr/WEB-INF/libs/中。

  5. solr-6.4.2serversolr 下的所有文件复制到最先创建的 solrhome
    文件夹下。

  6. 修改 Tomcat 中 solr/WEB-INF/web.xml
    文件,找到下列代码将注释解开。然后将env-entry-value 的属性改为
    solrhome 的地址,本文地址是 E:Demosolrhome

<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/put/your/solr/home/here</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>

启动 Tomcat 在浏览器中输入
localhost:8080/solr/index.html,如果出现以下界面则配置成功!

图片 2Paste_Image.png

图片 3图片.png

今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分。不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧。

启动tomcat时如果报下面的错误:严重: Exception starting filter SolrRequestFilter

图片 4Paste_Image.png

解决方案:这个是因为还少一部分 lib 包,把 solr-6.4.2/server/lib 下的
metrics-core-3.1.2.jarmetrics-ganglia-3.1.2.jar,metrics-graphite-3.1.2.jar,metrics-jetty9-3.1.2.jar,
metrics-jvm-3.1.2.jar 这几个jar包放到tomcat下的solr项目的
WEB-INF/lib目录下。

我导入了以下5个jar包

话不多说,直接开始。

启动成功但是访问报错 403

图片 5Paste_Image.png

解决方案:把tomcat下的solr项目的web.xml文件中下列代码注视掉,代码位置在xml文件的最底部。

<security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint> 

图片 62.png图片 73.png

第一步,新建一个空白的web项目。开发工具我还是用的eclipse,我不喜欢用IDEAL。

打开页面发现页面异常且有报错信息

图片 8Paste_Image.png

解决方案:这种一般都是有强迫症的童鞋,在部署的时候将 solr 应用没有放置在
tomcat 下 webapps 中的 solr 文件夹下,而是放至在 ROOT
中,这样会出现路径问题导致添加 core
都点不动按钮,会报找不到路径的问题,仔细查看下方报错,如果是放在ROOT文件夹下的同学,看看报错的路径ttp://localhost:8081/solr/admin/info/system?_=1490168112254&wt=json Failed to load resource: the server responded with a status of 404 ()
是不是多了 solr 呢。其中一个方案是将他解压到tomcat/webapps solr
文件夹下,其次还可以访问
http://localhost:8080/old.html#/也是可以的哟。

好了,Tomcat 8 + solr 6.4.2 配置教程到这里就结束了。

报错以后我一直在一步步的往回退,后来发现只要导入validation-api就会报错,但没有这个不行啊,没有这个还用个屁啊。

1481256199097048746.png

在这过程中不只报一种错误,各种各样的错误,(印象比较深刻的有一个java.lang.ClassNotFoundException:
javax.el.ELManager),后来发现一种解决方法

接下来,编写index.jsp

把上面required文件夹下的四个jar包copy进tomcat文件夹下的lib目录下,启动就不会报错了。

1481256242785087927.png

如果你认为你的代码都没有错误,那很可能就是jar包的问题,先不管报什么错误,试试这种方法。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Java文件上传</title>
</head>
<body>

</body>
</html>

具体原因:暂不理解。

body里面就简单弄一个上传框了,上传的服务器地址为service/upload.jsp,也就是WebContent目录下,一个叫做service文件夹里面的upload.jsp。

JSP就是Servlet,也就是所谓的服务器程序。它既可以做表现层,也可以做服务层。

代码:

<h1>文件上传</h1>

<h1>文件上传</h1>
<form action="service/upload.jsp" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="文件上传"> 
</form>

接下来,导入两个jar包,分别是 **common-fileupload-1.2.jar **和
commons-io-2.0.1.jar

1481256577613028258.png

第二步,编写文件上传的服务类,也就是服务器端了。(我就直接写JSP了,懒得写Servlet)

先在WebContent目录下增加一个service文件夹,再在里面新建一个upload.jsp。

1481256733535012389.png

为了看一下效果,我们再导入一个操作JSON的jar包。

1481257463144034558.png

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图