jsp上传文件如何实现(jsp获取上传文件名)

本书简介 书名为《轻量级JavaEE企业应用实战》,是本人在学习JavaEE框架的时候阅读的第一本书,本书对于框架及相关基础知识讲述的比较详细和浅显,适合初学者和需要全面了解JavaEE知识的人群。 本文内容为第二章的第1部分内容 WEB应用和web.xml 1.构建WEB应用 使用IDE创建项目?当然可以。但我们今天来学学不用IDE如何创建一个WEB应用。步骤如下: (1)在任意目录下新建一个文…

这书介绍

小说名字为《轻量级JavaEE企业应用实战》,是我本人在学习培训JavaEE架构的情况下阅读文章的第一本书,这书针对架构及相关基本知识叙述的非常完整和易懂,合适新手和必须全方位掌握JavaEE专业知识的群体。

文中內容为第二章的第1一部分內容

JSP/Servlet相关技术详解--那些已经模糊的基础知识

WEB运用和web.xml

1.搭建WEB运用

应用IDE创建新项目?当然可以。但大家现在来学习不用IDE怎样创建一个WEB运用。流程如下所示:

(1)在随意文件目录下新创建一个文件夹做为运用网站根目录,小编以webDemo文件夹创建一个web应用

(2)在运用根目录下创建一个WEB-INF文件夹(区别大小写字母)

(3)进到Tomcat中寻找任意一个默认设置WEB运用,将其WEB-INF下的web.xml文件拷贝到自身所创建的相匹配文件夹下

(4)配备web.xml文件(PS:相关配置我能另发表文章解读)

<web-app xmlns=\"http://xmlns.jcp.org/xml/ns/javaee\"
  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
  xsi:schemaLocation=\"http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd\"
  version=\"3.1\" metadata-complete=\"true\">
</web-app> 

(5)在WEB-INF文件目录下,新创建2个文件夹:classes和lib,这两个文件夹全是用以储存WEB运用需要的Java类文档,差别是classes储存单独class文件;lib储存装包后的JAR文档

(6)现在已经创建了一个空WEB运用。将该应用拷贝到Tomcat的webapps路径下

(7)将JSP文件放到WEB运用的根途径下,就可以利用网页来浏览这种网页页面了,URL途径:
http://localhost:port/webDemo/*.jsp

如上所述,WEB运用的文件目录构造如下所示:
<webDemo>
|--WEB-INF
|			|--classes
|			|--lib
|			|--web.xml
|--*.jsp

2.配备描述符web.xml

web.xml文件被称作配备描述符,在Servlet2.5以前,WEB运用务必含有一个web.xml文件,且务必放到WEB-INF途径下。WEB-INF是个独特的文件夹,WEB器皿会包括该文件夹下的內容,但电脑浏览器无法打开WEB-INF下的其他內容。

PS:针对Servlet3.0标准来讲,web.xml不会再是一定的,但通常或是提议保存

web.xml可以完成以下的全部配备作用

(1)配备JSP

(2)配置Servlet

(3)配备Listener

(4)配置Filter

(5)配备标识库

(6)配备JSP特性

(7)配备JAAS受权验证

(8)配备資源引入

(9)配备WEB运用主页

JSP基本概念

JSP/Servlet相关技术详解--那些已经模糊的基础知识

JSP文件务必在JSP网络服务器内运作JSP文件务必形成Servlet才可以实行每一个JSP界面的第一个来访者速率比较慢,由于务必等候JSP编译成ServletJSP网页页面的来访者不必安裝任何的手机客户端,乃至不用可以运作Java的软件环境,由于JSP网页页面传至手机客户端的是规范HTML网页页面JSP页面內容包括2个一部分:静态数据一部分(HTML标识及静态数据內容)、动态性一部分(受Java系统控制的內容)JSP网页页面会被Tomcat在work编译成2个文档:*_jsp.java,*_jsp.class。此文档是一个规范Servlet类

JSP注解

JSP注释不容易輸出到手机客户端,文件格式如下所示:

<%-- 注解內容 --%>

JSP申明

JSP声明用以申明自变量和方式

<%! 申明一部分 %>

JSP輸出

<%=关系式%>

PS: 表达式后无法有分号,实际效果相当于out.println

JSP脚本制作

<% 编码 %>

PS:JSP脚本制作中的內容,将做为Servlet中service方式的方法体。因而之中申明的自变量为静态变量,而且不能在代码中定义方法

JSP的编译程序命令(3个)

编译程序命令文件格式如下所示

<%@ 编译程序命令 特性名=\"属性值\"...%>

1.page:是应对现阶段网页的命令,坐落于网页页面顶部

JSP/Servlet相关技术详解--那些已经模糊的基础知识

特性表明:

language:申明JSP网页页面应用的开发语言,默认设置java
extends:特定JSP编译程序后的类所承继的成员变量或插口
import:用于导进包,默认设置导进的包有:java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.serlvet.http.*
session:设定现阶段网页页面是不是必须session
buffer:特定輸出缓冲区域尺寸。輸出缓冲区域用以JSP内部结构目标out,默认设置8KB
autoFlush:当輸出缓冲区域将要外溢时,是不是必须强制性輸出缓冲区域的內容。true正常的輸出,false造成出现异常
info:设定JSP程序流程表明,根据Servlet.getServletInfo()获得该值
errorPage:特定处理错误网页页面。假如网页页面出错,且未做错误处理,则自动跳转处理错误网页页面
isErrorPage:设定本JSP网页页面是不是为处理错误网页页面
contentType:用以设定网页页面的格式和编号字段名。默认设置MIME种类为text/html;默认设置字段名为:ISO-8859-1
pageEncoding:设定网页页面的编号字段名

2.include:特定包括另一个网页页面

英语的语法如下所示:

<%@include file=\"绝对路径\"%>

include命令可以将外界文档置入现阶段网页页面,这也是静态数据include句子,它会把总体目标网页页面的别的编译程序命令也包括进去。即先把总体目标网页页面的编码融进现阶段网页页面后再编译程序。

PS:假如被包括的网页页面必须常常更改,提议应用<jsp:include>,它是动态性include句子

3.taglib:客户界定和浏览自定义标签

JSP的姿势命令(7个)

jsp:forward:实行网页页面转为,将要求发送到下一个网页页面
jsp:param:用以传送主要参数,务必与别的适用主要参数的标识一起应用
jsp:include:动态性导进JSP网页页面
jsp:plugin:用以免费下载JavaBean或Applet到手机客户端实行
jsp:userBean:创建JavaBean案例
jsp:setProperty:设定JavaBean案例的人物属性值
jsp:getProperty:获得JavaBean案例的人物属性值

1.forward命令

用以网页页面分享,可转发到静态网页、动态性网页页面或Servlet。分享后的要求主要参数不容易遗失。

英语的语法如下所示:

<jsp:forward page=\"绝对路径\">
    <jsp:param name=\"key\" value=\"value\"/>
</jsp:forward>

分享时可根据param命令传送主要参数,并根据以下方法获得值:

<%=request.getParameter(\"key\")%>

2.include命令

动态性的网页页面导进指令,它不容易导进被包括网页页面的编译程序命令,仅将被导进网页页面的body內容插进本页。

英语的语法如下所示:

<jsp:include page=\"绝对路径\" flush=\"true\">
    <jsp:param name=\"key\" value=\"value\"/>
</jsp:include> 

flush特性设定輸出缓存文件是不是迁移到被导进文档中,true则包括在被导入文档中,false则包括在源文件中。

动态导入和静态导入的差别
(1)静态导入是将被导入页面的源代码彻底融进,2个页面结合成一个Servlet;而动态导入则在Servlet中应用include方式来引入被导入页面的內容
(2)静态导入时被导入页面的编译程序指令会起功效;而动态导入时被导入页面的编译程序指令则丧失功效
(3)动态导入可以传送超额的主要参数

3.useBean、setProperty、getProperty指令

这三个指令全是JavaBean有关指令。在大家将反复编码界定成Java类的方式 后,这三个指令可用以启用。

useBean英语的语法如下所示:

<jsp:userBean id=\"name\" class=\"classname\" scope=\"page|request|session|application\"/>
id:是JavaBean的实例名
class:特定JavaBean的完成类
scope:特定JavaBean案例的功能范畴,page(现阶段页面合理)、request(此次要求合理)、session(此次对话合理)、application(现阶段运用一直合理)

setProperty英语的语法如下所示:

<jsp:setProperty name=\"BeanName\" property=\"propertyName\" value=\"value\"/>

getProperty英语的语法如下所示:

<jsp:getProperty name=\"BeanName\" property=\"propertyName\"/>

举例说明,如下图:

JSP/Servlet相关技术详解--那些已经模糊的基础知识

4.param指令

param指令没法直接应用,可以与如下所示指令融合应用:

(1)jsp:include

(2)jsp:forward

(3)jsp:plugin

JSP内嵌目标(9个)

application:ServletContext案例,意味着隶属WEB运用自身
config:ServletConfig案例,意味着运用配备信息内容
exception:Throwable案例,意味着别的页面的出现异常,仅有现阶段页面是处理错误页面时可以用
out:JspWriter案例,意味着页面輸出流,用以輸出內容
page:意味着页面自身,及产生的Servlet类
pageContext:PageContext案例,意味着页面前后文,可浏览页面的共享资源数据信息
request:HttpServletRequest案例,该目标封装形式了一次要求和请求主要参数
response:HttpServletResponse案例,意味着网络服务器回应
session:HttpSession案例,意味着一次对话。当电脑浏览器与网站创建联接时,会话开始;关闭浏览器的时候会话完毕

PS:JSP内嵌目标要不是Servlet方式的静态变量,要不是方式的形参,因此我们可以同时在代码中启用她们。

1.application目标

application两个作用

  • 在全部WEB运用中让好几个JSP、Servlet中间分享数据信息(应用setAttribute,getAttribute)
  • 浏览WEB运用的配备主要参数(应用getInitParameter)

2.config目标

用以Servlet获得配备主要参数(应用getInitParameter)

3.exception目标

exception对象仅在错误处理页面合理

4.pageContext目标

应用pageContext可以浏览page、request、session、application范畴的自变量

getAttribute(String name):获得page范畴内的特性
getAttribute(String name, int scope):获得特定范畴内的特性,
scope包括PageContext.PAGE_SCOPE、PageContext.REQUEST_SCOPE、PageContext.SESSION_SCOPE、PageContext.APPLICATION_SCOPE
setAttribute(String name, String value):设定page范畴内的特性
setAttribute(String name, String value, int scope):获得制订范畴内的特性

应用pageContext可以得到别的内嵌目标

getRequest():获得request目标
getResponse():获得response目标
getServletConfig():获得config目标
getServletContext():获得application目标
getSession():获得session目标

5.request对象

(1)获得请求头/要求主要参数

getParameter(String paramName):获得要求主要参数的值
getParameterMap():获得全部要求主要参数名合值构成的Map目标
getparameterValues(String name):获得要求主要参数好几个值时所构成的二维数组
getHeader(String name):获得特定的请求头的值

GET与POST

GET方法的要求:GET请求会将要求主要参数的名合值转化成字符串数组,并额外在原URL以后,URL和主要参数中间以”?”隔开,好几个主要参数中间以”&”隔开,且要求传递的信息量较小,一般不得超过2KB

POST方法的要求:POST请求主要参数的尺寸不受到限制,通常在于网络服务器的限定,POST传送的信息量比GET传送的信息量大,且要求主要参数放到HTTP HEADER中传送,安全系数相比较高

PS:

(1)并不是每一个表格域都是会形成要求主要参数,仅有含有name特性的表格域才行

(2)每一个有name特性的表格域相匹配一个要求主要参数

(3)如果有对个表格域有一样的name特性,则好几个表格域只形成一个要求主要参数,且该参数有好几个值

(4)表格域的name特性为要求主要参数名,value特性为要求变量值

假如表格域设定了disabled=”disabled”特性,则不容易形成要求主要参数

(2)实际操作request范畴的特性

setAttribute(String name, Object value):设定request范畴特性
getAttribute(String name):获得request范畴特性

(3)实行forward或include

getRequestDispatcher(String path).forward(request, response):自动跳转页面
getRequestDispatcher(String path).include(request, response):包括页面

6.response目标

(1)response回应形成非标识符回应

getOutputStream():获得輸出流

(2)跳转

sendRedirect(\"path\"):重定向,跳转会遗失全部要求主要参数

forward与redirect比照

JSP/Servlet相关技术详解--那些已经模糊的基础知识

(3)提升cookie

addCookie(Cookie cookie):增加cookie
getCookies():获得cookie二维数组

7.session目标

seesion代表一次客户对话,即手机客户端电脑浏览器连接网络逐渐,到关闭浏览器完毕。session特性可在一次对话本质好几个页面间分享数据信息。session特性值一定是可实例化的Java目标。

setAttribute(String attName, Object attValue):设定session特性值
getAttribute(String attName):获得session特性值

异议与思索

大家日常开发设计常常应用电脑浏览器来浏览WEB运用,IE、360、火狐、Google你觉得哪个电脑浏览器最好用?为什么呢?发表评论留言板留言吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月11日 上午10:45
下一篇 2022年5月11日 上午10:45

相关推荐

  • 虚拟主机怎么用,虚拟主机的功能及正确使用方法介绍

    我们常在需要制作网站的时候,询问专业的公司或者技术,都需要购买一个虚拟主机用来放置网站系统。那么,虚拟主机究竟是什么呢? 某数据中心机柜 虚拟主机,也叫“网站虚拟空间”,就是把一台运行在互联网上的物理服务器或云服务器划分成多个小型的“虚拟”服务器。 虚拟主机相较于独立的服务器而言,价格成本及迅速上架的效率都相对较高。因为其方便快捷,小型网站的快速上线,使用虚拟主机更为方便。 一般虚拟主机主要分为独…

    2022年7月24日
    850
  • 手机一键装机软件哪个好用(电脑装机详细步骤)

    嗨,大家好,我是漫漫,今天给大家介绍一款免费重装系统软件,这款软件叫云速装机大师,有了这款软件我们就可以随时随地对电脑系统进行重装。比如电脑使用久了卡顿、或者C盘占满又不知道怎么清理的时候就可以选择使用云速装机大师进行系统重装。 首先呢,这款软件有一键重装系统功能和系统U盘制的功能。现在,我给大家介绍一下怎么使用一键从重系统功能对系统进行重装。很简单,只要在需要从装系统的电脑打开云速装机大师,稍等…

    2022年5月9日
    1180
  • u盘文件恢复软件哪个最好用(u盘0字节修复方法)

    不知道大家有没有试过误删U盘的文件,就在刚刚,不小心把U盘的照片给误删了,害!都是手滑惹的祸。这可是重要的素材呀,删除了怎么办呐?怎么恢复u盘的数据?在各种求助之后,终于有小伙伴给小编提出了建设性的建议,那就是使用数据恢复软件。在这之前可没用过这种软件啊,要怎么使用,怎么找回u盘的数据呢? 常见的在外办事的小伙伴,用U盘肯定多了,因为这款移动办公用品最方便地存储各种类型的数据,无论在生活或工作中,…

    2022年5月11日
    830
  • 一键制作u盘启动安装系统怎么使用(u盘做系统详细步骤)

    u盘启动工具哪个好用?目前市面上有许多的U盘启动盘制作工具,拥有各自不同的侧重点。而大多数的U盘启动盘,都可以重装系统,而且还具有系统修复,硬件检测等功能,可以说是十分实用了,那么u盘启动工具哪个好用   u深度是一款非常实用的u盘重装系统工具,制作好的启动u盘不仅可用于引导电脑开机启动,同时还能用于存储日常文件   u启动是针对普通用户和技术人员使用的一款u盘装机工具,u启动提供u盘启动盘制作…

    2022年5月10日
    950
  • 机顶盒直播软件哪个好用,网络机顶盒直播软件排行

    网络机顶盒即将迎来全年销量的巅峰时刻:双十一。各大品牌的盒子,也将迎来一大波新手用户,相信双十一之后,大批新手用户一定会在行业论坛各种发帖,询问如何看电视直播,怎么看免费的NBA直播、港澳台电视台等问题。 小编提前准备了一批高口碑直播软件,送给有需求的朋友,刚买网络机顶盒,或是准备双十一买买买的朋友,请收藏本文备用! 一、非会员也能看NBA直播·泰捷视频 泰捷视频是业内极少数可免费观看NBA直播的…

    2022年7月13日
    800
  • 音乐版权购买平台有哪些,一般出售歌词的价格介绍

    前言 现在已经不是一个音乐APP就能搞定所有歌曲的时代了,比如你想听周杰伦的歌,请不要去虾米音乐,虾米音乐并没有买全周天王的全部音乐版权,很多歌都不能听,而QQ音乐和网易云音乐买全了周杰伦的版权。想知道陈奕迅、五月天、蔡依林、林俊杰、许嵩、田馥甄等国内知名歌手以及lady Gaga、泰勒斯威夫特、艾薇儿等知名国外歌手的音乐版权在谁手里吗?下面为大家整理了比较详细的音乐版权商介绍。 (一)音乐版权商…

    2022年8月28日
    1330
  • 刷空间访问量软件有哪些,免费刷qq空间访问量软件

    喜欢玩QQ空间,又在意自己的访问量的小伙伴点进来,学起来! 今天教大家用一个软件刷自己空间的赞、留言、评论、访问量、名片的赞、刷拉圈圈,还有精选说说可直接拿来发表——那就是QQ说说管家。 废话不多说,干货走起!该如何使用呢?我结合自己的使用经验来给大家讲讲。 这个软件为了赚钱,会让你冲会员,然后每天刷得量就会增多,我建议忽略。 一,在应用商店下载好即可,然后登陆页面直接输入QQ账号和密码即可(不用…

    2022年9月6日
    560
  • 淘宝购物怎样省钱,淘宝买东西便宜小窍门

    每年的双11大家都挤破头去抢购,今天就把我多年使用的方法分享出来,希望能帮助各位! 从商家的角度,商家为卖货费尽心机。 那买家该如何买到最优惠而不被坑呢? 就要说说淘宝现在都有几种购买工具。 有需求就会有市场, 这些工具当然早就有人贴心的做好了。 1.直接淘宝下单 这个没的说, 直接在淘宝搜索自己喜欢的, 然后淘宝价格多少就是多少了。 有钱任性! 2.查历史价格 那我总不能傻乎乎的, 你写多少价格…

    2022年8月3日
    560
  • 小米型号都有哪些(小米手机型号大全)

    在国产智能手机的市场上,小米手机可以说是获得了不错的成绩。像“主流厂商”、“走向国际市场”、“不错的销量”都可以用来形容小米手机。光是在今年,小米推出小米9手机就出现了多次售罄的情况,由此可以说明小米手机的受欢迎程度。 说到小米手机,很多人想到的关键词就是“高性价比”,其实小米手机并不只是性价比的代表,根据小编的了解,在小米手机中分为了小米MIX、小米Note、小米Play、小米Max、小米数字系…

    2022年10月24日
    630
  • 什么是转基因食品,看完你就知道了

    最近,转基因食品不知道为什么又被推到了风口浪尖里。各种各样的声音接踵而来,都是攻击转基因食品的,但是这些人真的了解什么叫做转基因吗? 转基因我们在过去的视频和文章里都介绍过了,可是似乎有很多人就是看不见。那么我们就在这里就在给大家见到的介绍一下:转基因技术是指利用DNA重组、转化等技术将特定的外源目的基因转移到受体生物中,并使之产生可预期的、定向的遗传改变。转基因技术是现代农业生物技术的核心组成部…

    2022年10月11日
    460

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信