一步,先写html或jsp页面,写一个form,enctype设置为multipart/form-data,写两个input,一个type为file,一个type为submit,type的值可以用双引号,也可不用。详细代码如下:<form action="uploadServlet" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
第二步,在web.xml中设置servlet和servlet mapping,并在servlet中设置multipart-config,设置允许上传文件的最大长度,注意单位为字节,样例中约为10M和20M。
第三步,在servlet中处理文件上传,使用 request.getPart("file")方法获取part,再通过part.getSubmittedFileName获取上传文件名,使用part.write方法写文件到服务中,注意路径问题,可以直接使用绝对路径。
对于linux中使用tomcat,可能还需要配置tomcat的servlet.xml中的UMASK="0022",修改前为0027。
以上便是我分享的内容,感谢您的阅读,非常欢迎并期待您在评论区留下宝贵的意见和建议。如果你在处理数据时遇到了类似的问题,欢迎随时私信我,我将竭诚为你提供帮助。同时,如果你对数据处理领域充满热情,也欢迎你与我私信交流,期待与你共同探讨、学习和进步,期待与您的每一次交流。
ervlet开发步骤
安装服务器比如:tomcat
1.创建WEB项目
目录:webapp/WEB-INF/web.xml
2.导入jar包
通过maven导入jar包,搜javaee
或者使用服务器自带的jar包,右键项目->target runtime->勾选tomcat
3.创建Servlet
实现Servlet接口
也可以继承HttpSevlet,此类已实现了Servlet接口
实现/重写service(),在此方法内动态拼HTML
4.注册Servlet
注册Servlet,(找到web.xml文件)并声明别名
通过别名,给此Servlet注册网名(以/开头)
<!-- 1.注册别名(小名) -->
<servlet>
<servlet-name>time</servlet-name>
<servlet-class>web.TimeServlet</servlet-class>
</servlet>
<!-- 2.注册访问路径(网名) -->
<servlet-mapping>
<servlet-name>time</servlet-name>
<url-pattern>/ts</url-pattern>
</servlet-mapping>
5.部署项目
在Servers下选择Tomcat,右键Add and Remove
在弹出框内左侧选中项目,双击移动到右侧
部署:
6.访问Servlet
启动Tomcat
浏览器输入地址 http://ip:port/项目名/Servlet网名
7.重新部署
修改代码后,需要重新部署并重启Tomcat才有效
或者点击Servers下面的Tomcat7,右键publish
可以手动关闭Tomcat,再启动它
也可以等待Eclipse自动重启Tomcat(Reloading...)
常见错误及解决方法:
404产生的原因为Web服务器(容器)根据请求地址找不到对应资源,以下情况都会出现404的错误提示:
1.输入的地址有误(应用名大小写不正确,名称拼写不正确)
2.在web.xml文件中<servlet>和<servlet-mapping>中的两个<servlet-name>不一致
3.没有将工程部署到Tomcat的webapps下面
4.Web工程部署时的结构没有遵循Servlet的规范
具体的解决办法就是根据上面提到的4种情况,逐条进行检查。
容器如何找到service()方法
首先容器会根据firstweb这个应用名找到位于webapps下面对应的文件夹,然后根据地址中的“/sayHi”到web.xml文件中寻找与之匹配的<url-pattern>节点,找到匹配的节点后会找到与该节点紧邻的<servlet-name>节点,获取名称并在此寻找与该名称相等的<servlet-name>节点,找到相等的节点后,搜寻该节点下面紧邻的<servlet-class>节点,于是获取到了与该地址相对应的类名,借助于ClassLoader加载该类文件,创建对象并调用service()方法,客户端即看到了与该地址匹配的运行结果。
405错误产生原因及解决方法
405这个错误的产生原因是容器找不到service方法来处理请求。以下情况容器都将视为没有找到service()方法
1.service方法名写错,字母顺序不对或大小写错误
2.service方法参数类型与标准不一致,或参数顺序与标准不一致。一定是先HttpServletRequest,然后是HttpServletResponse类型
3.service方法异常、返回值类型与标准不一致,一定是抛出ServletException、IOException。返回值类型是void。
解决405错误的方法即检查service方法是否存在,签名(方法名、参数、返回值、异常类型)是否与覆盖的父类中的方法一致。
500错误产生原因及解决方法
500的错误原因是请求的Servlet在执行service方法的过程中出现了错误,程序不能继续运行了。以下情况容器都将视为500的一种情况,而返回给客户端这个错误说明。
1.Servlet没有继承HttpServlet或实现Servlet接口
2.web.xml文件中的<servlet-class>写错,与真正的包名类名不符
3.service方法中的代码运行时抛出异常
解决500的方法为依据上面三种情况依次进行检测,逐条排除。
HTTP协议:
HTTP协议是HyperText Transfer Protocol的缩写,即超文本传输协议。是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信的数据格式。
因为BS架构中的通信模块就是以HTTP这个协议作为标准协议的,所以对该协议有所了解可以更好的编写程序。
HTTP协议的通信过程可以分为以下四个步骤:
1.浏览器根据IP地址和端口号与服务器建立连接
2.向Web服务器发送请求数据包
3.Web服务器接收请求数据包后,发送相应的响应数据包
4.浏览器接收响应数据后关闭连接
在这个过程中,一次请求对应一次连接,当浏览器再次发请求给服务器时,Web服务器并不知道这就是上次发请求的客户端,这也是HTTP协议的一个特点-无状态协议。这种需要时建立连接,使用结束后立即断开连接的方式使得Web服务器可以利用有限的连接为尽可能多的客户提供服务。也正是具备了这样的特点,才使得BS结构能够承载企业级应用的大量访问。
请求数据包组成
请求数据包包含三个部分:
请求行,包括请求方式,请求资源路径,以及协议版本
消息头是由若干的键值对组成,主要用于传递给Web服务器一些信息。如,浏览器版本、接受资源的类型等
在消息头的下面会跟着一个空白行,这样就可以区分出消息头与实体内容这两个部分。而在请求数据包中,大部分情况实体内容为空,只有当请求方式为POST时,实体内容才有要提交的表单数据
响应数据包组成
响应数据包也包含三个部分:
状态行,包括协议类型、版本、状态码、状态描述
消息头(若干),也是多组键值对组成的信息说明。如返回的Content-Type消息头可以告诉浏览器返回的结果数据类型和字符集
实体内容,位于消息头下面的一个空白行之后。空白行意在通知浏览器消息头的结束以及结果内容的开始,浏览器就从这里开始数据的逐行解析。
Servlet如何处理HTTP协议
如何控制通信数据
HTTP协议在Web容器这端主要表现为通信数据的到达以及响应数据的返回。于是Web容器将这两部分数据解释为两个对象,一个是与请求数据对应的HttpServletRequest对象,一个是与响应数据对应的HttpServletResponse对象。对于Servlet来讲,主要的业务逻辑过程就是从请求对象中获取数据,经过加工后将结果附着在响应对象中发送回客户端。
HttpServletRequest对象用来读取请求数据;
HttpServletResponse对象用来设置响应数据;
前市面上有不少开源的CMS系统,可以快速搭建一个网站,但是延展性、安全性、功能适配性肯定没有按需求开发的性能好。所以下面主要介绍不使用开源CMS系统搭建网站的过程。
在做网站之前首先要找好网站的定位,确定好网站要服务哪一部分人群、要足他们的什么需求以及网站的后期盈利方式等。
·根据网站的定位确定一个符合网站定位的名字和域名,便于上线后的推广。
·策划网站的功能模块以及页面布局
·画出页面的原型图
设计师根据原型图,设计页面,形成设计稿。
搭建静态页面是指将设计的网页效果图转换为能够在浏览器浏览的页面。这就需要对页面设计规范有一个整体的认识并掌握一些基本的网页脚本语言,例如HTML、CSS等。需要注意的是,在拿到网页设计效果图后,切忌直接切图、搭建结构。应该先仔细观察效果图,对页面的配色和布局有一个整体的认识,主要包括颜色、尺寸、辅助图片等,具体介绍如下
(1)颜色:观察网页效果图的主题色、辅助色、点睛色,了解页面的配色方案。
(2)尺寸:观察网页效果图的尺寸,确定页面的宽度和模块的分布。
(3)辅助图片:观察网页效果图,看哪些地方使用了素材图片。确定需要单独保留的图片。例如,重复的背景图、小图标、文本内容配图等。
对页面效果图有了一个基本的分析之后,就能够“切图”了。“切图”就是对效果图进行分割,将无法用代码实现的部分保存为图片。当切完图之后,就可以使用HMCs搭建静态页面。搭建静态页面就是将效果图转换为浏览器能够识别的标记语言的过程。
静态页面建设完成后(一般和前端工程师工作并行),如果网站还需要具备一些动态功能(例如搜索功能、留言板、注册登录系统、新闻信息发布等),就需要开发动态功能模块。目前广泛应用的动态网站技术主要有PHP、ASP、JSP三种,具体介绍如下。
(1)PHP
PHP即Hypertext Preprocessor(超文本预处理器),是一种通用的开源脚本语言。PHP语法吸收了C语言、Java(C语言和Java均是编程语言)的特点,利于学习,使用广泛,主要适用于web开发领域。PHP提供了标准的数据库接口,数据库连接方便,兼容性和展性非常强,是目前使用较广泛的技术。
(2)ASP
ASP即Active Server Pages(动态服务器页面),是一种局限于微软的操作系统平台之上的动态网站开发技术,主要工作环境为微软的IIS应用程序结构。ASP入门比较简单,但是安全性较低,而且不宜构架大中型站点,其升级版ASP.NET虽然解决了这一问题,但开放程度低,操作麻烦。
(3)JSP
JSP即Java Server Pages(Java服务器页面),是基于Java Servlet以及整个Java体系的Web开发技术,它与ASP有一定的相似之处。JSP被认为是网站建设技术中安全性最好的,虽然学习和操作均较为复杂,但目前被认为是三种动态网站技术中有前途的技术。
网站建设后期事宜主要包括网站的测试、上传、推广、维护等,具体介绍如下。
(1)网站测试
网站测试主要包括本地测试和上传到服务器之后的网络测试,具体介绍如下
·本地测试:是指在网站搭建完成之后的一系列测试。例如,链接是否错乱,是否兼容不同的浏览器,页面功能逻辑是否正常等,以确保网站发布到服务器上不会出现些基本错误。
·网络测试:是指网站上传到服务器之后针对网站的各项性能情况的一项检测工作。例如,网页打开速度的测试,网站安全的测试(服务器安全、脚本安全)等。
(2)网站上传
网页制作完成后,最终要上传到Web服务器上,网页才具备访问功能。在网页上传之前首先要申请域名和购买空间(免费空间不用购买),然后使用相应的工具上传即可。上传网站的工具有很多,可以运用FTP软件上传(例如Flash FXP),也可运用Dreamweaver自带的站点管理上传文件。
(3)网站推广
当网站上传发布后,还要不断对其进行推广宣传,以提高网站的访问率和知名度。推广网站的方法有很多,例如,到搜索引擎上注册、与其他网站交换链接、加入广告链接等。
(4) 网站维护
网站只有经常注意更新与维护保持内容的新鲜感,才能持续吸引访问者。网站维护阶段的主要工作是更新网站内容、确保网站的正常运行以及历史文件的归类等。
*请认真填写需求信息,我们会在24小时内与您取得联系。