JavaWeb视频教程(JSP/Servlet/上传/下载/分页/MVC/三层架构/Ajax)
jsp环境搭建
1.下载tomac(core zip 最新版上一版)
2.tomcat解压后目录
bin:可执行文件( startup. bat shutdown,bat)
conf:配置文件( server.xm1)
lib:tomcat依赖的jar文件
10g:日志文件(记录出错等信息)
temp:临时文件
webapps:可执行的项且(将我们开发的项且放入该目录)
work:存放由jsp翻译成的java,以及编辑成的class文件
jsp ->java -> class
3.配置tomcat
a.配置jdk (必须配置JAVA_HOME)
java_home classPath path
b.配置catalina_home
双击bin/startup.bat启动tomacat
- 可能与其他服务的端口号冲突
tomcat端口号默认8080 (此端口号较为常见,容易冲突),建议修改此端口 (8888)
conf-server.xml:
<Connector port="8888" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
- 中文乱码
conf-logging.properties:
java.util.logging.ConsoleHandler.encoding = UTF-8
改为java.util.logging.ConsoleHandler.encoding = GBK
4.访问tomcat
http://localhost:8888/
5.常见状态码:
200:一切正常
300/301: 页面重定向 (跳转)
404:资源不存在
403:权限不足 (如果访问a目录,但是a目录设置 不可见)
500:服务器内部错误(代码有误)
其他编码:积累
jsp:在html中嵌套的java代码
- 在项目/WEB-INF/web.xml中设置 默认的 初始页面
<welcome-file-list><welcome-file>index.jsp</welcome-file>
</welcome-file-list>
jsp执行流程
1.动态、静态网页
2.cs(client server:qq)、bs(broswer server:京东网页),各有优势
3.执行流程:新jsp文件-java(servlet)-class
使用eclipse快速开发jsp
1.使用Eclipse开发Web项目(JSP项目) tomcat
- 首选项severs配置tomac、视图中的severs配置tomac- 新建动态web项目- 在webcontent新建index1,在web-inf中新建index2,修改web.xml中的welcome-file- web.xml写项目时生成,或者项目右键javaeetool
http://localhost:8888/MyJspProject/index1.jsp
2. 在Eclipse中创建的Web项目:
浏览器可以直接访问 WebContent中的文件,
例如
http://localhost:8888/MyJspProject/index1.jsp`
其中的index1.jsp就在WebContent目录中;
但是WEB-INF中的文件 无法通过客户端(浏览器)直接访问,只能通过请求转发来访问。
注意:并不是 任何的内部跳转都能访问WEB-INF;原因是 跳转有2种方式:请求转发 、重定向。
3.配置tomcat运行时环境
(第一行报错)
jsp<->Servlet
a.将tomcat/lib中的servlet-api.jar加入项目的构建路径
b.右键项目->Build Path -> Add library ->Server Runtime
编码问题、jsp页面元素
1.统一字符集编码
a.编码分类:
设置jsp文件的编码(jsp文件中的pageEncoding属性): jsp -> java
设置浏览器读取jsp文件的编码(jsp文件中content属性)
一般将上述设置成 一致的编码,推荐使用UTF-8
文本编码:
i.将整个eclipse中的文件 统一设置 (推荐)
首选项-jsp files-encoding:UTF-8
i.设置 某一个项目
iii.设置单独文件
2.部署tomcat
在servers面板 新建一个 tomcat实例 , 再在该实例中 部署项目(右键-add)
之后运行
注意:一般建议 将eclipse中的tomcat与 本地tomcat的配置信息保持一致: 将eclipse中的tomcat设置为托管模式:【第一次】创建tomcat实例之后, 双击,选择Server Location的第二项
eclipse 与将我们下载的tomac拷贝在sever,如果你在原来的tomac修改端口不会影响,再次修改需要在sever文件中
托管 tomcat即可保持一致
3.JSP的页面元素: HTML java代码(脚本Scriptlet)、指令、注释
a.脚本Scriptlet
i. <%局部变量、java语句%>ii.<%!全局变量、定义方法%>iii.<%=输出表达式 %>
一般而言,修改web.xml、配置文件、java 需要重启tomcat服务
但是如果修改 Jsp\html\css\js ,不需要重
注意,out.println()不能回车; 要想回车:“<br/>”,即out.print() <%= %> 可以直接解析html代码
b.指令
page指令<%@ page ....%>
page指定的属性:
language:jsp页面使用的脚本语言
import:导入类
pageEncoding:jsp文件自身编码 jsp ->java
contentType:浏览器解析jsp的编码
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.Date" %>
c.注释
html注释<!-- --> ,可以被客户 通过浏览器查看源码 所观察到java注释// /*...*/jsp注释<%-- --%>
使用request对象实现注册示例,请求方式的编码问题
1.JSP九大内置对象(自带的,不需要new 也能使用的对象)
out:输出对象,向客户端输出内容
request:请求对象;存储“客户端向服务端发送的请求信息”
request对象的常见方法:
String getParameter(String name) :根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
String[] getParameterValues(String name): 根据请求的字段名key ,返回多个字段值value (checkbox)
void setCharacterEncoding("编码格式utf-8") :设置post方式的请求编码 (tomcat7以前默认iso-8859-1,tomcat8以后改为了utf-8)
getRequestDispatcher("b.jsp").forward(request,response) ; :请求转发 的方式跳转页面 A - > B
ServletContext getServerContext():获取项目的ServletContext对象
2.示例:
注册
register.jsp ,show.jsp
register->show->转码->拿到输入值->显示
http://localhost:8888/MyJspProject/show.jsp?uname=aa&upwd=123&uage=22&uhobbies=%E7%AF%AE%E7%90%83连接/文件?参数名1=参数值1 & 参数名2=参数值2 & 参数名1=参数值1
不需要register.jsp了
uhobbies=%E7%AF%AE%E7%90%83为篮球等转码
method=“get” 和 地址栏 、超链接() 、方式 默认都属于get提交方
3.get与post请求方式的区别:
a. get方式 在地址栏显示 请求信息 (但是地址栏能够容纳的 信息有限,4-5KB;如果请求数据存在大文件,图片等 会出现地址栏无法容纳全部的数据而出错) ;post不会显示
b. 文件上传操作,必须是post
推荐使用post
4.统一请求的编码 request
1)get方式
get方式请求 如果出现乱码,解决:
a.统一每一个变量的 编码 (不推荐)new String( 旧编码,新编码);name = new String(name.getBytes("iso-8859-1"),"utf-8");b. 修改server.xml ,一次性的 更改tomcat默认get提交方式的编码 (utf-8)
建议 使用tomcat时, 首先在server.xml中 统一get方式的编码.. 在该端口的后面加(注意区分大小写):URIEncoding="UTF-8"
重启tomac
2)post方式
post
request.setCharacterEncoding("utf-8") ;
response、请求转发和重定向
1.response :响应对象
提供的方法:
void addCookie( Cookie cookie ); 服务端向客户端增加cookie对象
void sendRedirect(String location ) throws IOException; :页面跳转的一种方式(重定向)
void setContetType(String type):设置服务端响应的编码(设置服务端的contentType类型)
示例:登陆
login.jsp -> check.jsp ->success.jsp
response重定向数据丢失:
request转发
请求转发与重定向区别
请求转发 重定向地址栏是否改变 不变(check.jsp) 改变(success.jsp)是否保留第一次 保留 不保留 --4种范围对象
请求时的数据请求的次数 1 2跳转发生的位置 服务端 客户端发出的第二次跳转转发、重定向:转发: 张三(客户端) -> 【 服务窗口 A (服务端 ) -> 服务窗口B 】重定向:张三(客户端) -> 服务窗口 A (服务端 ) ->去找B张三(客户端) -> 服务窗口 B (服务端 ) ->结束
2. session(服务端)
Cookie(客户端,不是内置对象):Cookie是由 服务端生成的 ,再发送给客户端保存。
相当于 本地缓存的作用: 客户端(hello.mp4客户端收到下次可以提高效率,zs/abc直接登录、不安全)<-服务端(hello.mp4产生并发给客户端 ;zs/abc密码用户名放cookie发给客户端)
作用:提高访问服务端的效率,但是安全性较差。
Cookie: name=value
javax.servlet.http.Cookie
public Cookie(String name,String value)
String getName():获取name
String getValue():获取value
void setMaxAge(int expiry);最大有效期 (秒)
服务端准备Cookie:response.addCookie(Cookie cookie)
页面跳转(转发,重定向)
客户端获取cookie: request.getCookies();a.服务端增加cookie :response对象;客户端获取对象:request对象
b.不能直接获取某一个单独对象,只能一次性将 全部的cookie拿到通过F12可以发现 除了自己设置的Cookie对象外,还有一个name为 JSESSIONID的cookie建议 cookie只保存 英文数字,否则需要进行编码、解码
JavaWeb视频教程(JSP/Servlet/上传/下载/分页/MVC/三层架构/Ajax)相关推荐
- servlet上传下载(任何格式的都可以)
jar不能低于此版本,JDK1.6以上,否则户报错 <dependency> <groupId>commons-fileupload</groupId> <a ...
- JSP 文件上传下载系列之二[Commons fileUpload]
前言 关于JSP 文件上传的基础和原理在系列一中有介绍到. 这里介绍一个很流行的组件commons fileupload,用来加速文件上传的开发. 官方的介绍是: 让添加强壮,高性能的文件到你的se ...
- jsp/servlet上传
common-fileupload组件 下载地址:http://jakarta.apache.org/commons/fileupload/ 下载后解压zip包,将commons-fileupload ...
- JSP 文件上传下载系列之一[基本方式上传文件]
前言 在jsp的web项目中,很有可能会使用文件上传的功能. 把一个本地的文件上传到web 服务器的某个路径下. 对于java 来说, 实现这样功能的开源组件有很多, 比如较常用的commons-fi ...
- java web servlet、servlet容器 HTTP服务器和mvc三层架构或者说servlet属于哪一层的,给我搞的晕晕的,今天终于弄明白了
0 我们先看Web容器是什么? 首先,让我们简单回顾一下web技术的发展历史,可以帮助你理解web容器的由来. 早期的web应用主要用于浏览新闻等静态页面,HTTP服务器(比如Apache,Nginx ...
- 后台学习六---ajaxFileupload文件上传下载
这一章讲讲文件的上传下载,这里我们使用ajax的上传文件方法. ps:基于maven的springmvc框架都已经搭建好了的,如有问题,参考 : 后台学习一-spring+maven+mybatis+ ...
- 关于SpringMVC框架实现简单的文件上传下载(ssm)
关于ssm框架整合文件的上传和下载. 首先来看单个附件的上传和下载: 1.首先创建一个用来测试的jsp文件上传下载的页面 代码如下 <%@ page language="java&q ...
- android 文件上传工具类,Android快速开发架构PlanA(五),文件上传下载了解一下...
1.PlanA文件上传&下载的使用 PlanA架构集成第五篇,文件上传下载的使用,文件上传&下载在APP里面随处可见,发朋友圈要上传图片或者短视频,换个头像要上传选择的图片,offic ...
- JSP基础:(7)jsp分页与文件上传下载
目录 1 jsp分页 1.1 定义 1.2 Servlet控制器方法 2 文件上传下载 2.1 定义 2.2 SmartUpload 2.2.1 介绍 2.2.2 SmartUpload组件-Requ ...
- MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页
本文章主要介绍了一个简单的实例:用简单的MVC分层思想,使用数据库在web界面进行增删改查,以及上传,模糊查询+分页的实现. 1.util层(数据库连接管理) :连接数据库需要导包:mysql-con ...
最新文章
- 程序员老司机“随意开车”,恶搞代码让你分分钟玩死程序员!
- 男人心疼女人的十种方式
- python中x=x+1的读法-python中xrange和range的区别
- ai人工智能服务器操作系统,全球首款100%纯国产的AI操作系统来了,但说媲美Windows有意义吗...
- php作为弱语言是最棒的~哈哈哈哈
- TextBox控件中只输入整数的几种方法
- MFC+OPENCV+显示MAT类型图像
- 简单类及成员实例【C#】
- ssis 派生列_SSIS脚本组件与派生列
- 安装电脑硬件要求_2019,8月,精雕设计多档次电脑硬件配置推荐
- Proxmark3 Easy破解门禁卡(转载 珍贵知识防止掉失)
- 3dMax导入unity 材质问题
- 计算机类绘图的文献,基于计算机CAD绘图探讨论文
- 【Gitee + Hexo】从0开始搭建自己的博客网站
- 图片处理 毛玻璃效果
- 2021.11.8-11.14 AI行业周刊(第71期):AI行业经验
- HDU 4069 Squiggly Sudoku DLX 精确覆盖
- 外贸软件之冷冻食品进口贸易管理系统
- 【热门主题:喵星人高清桌面壁纸】
- 一个四位数的各位数字的立方和