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代码
  1. 在项目/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)相关推荐

  1. servlet上传下载(任何格式的都可以)

    jar不能低于此版本,JDK1.6以上,否则户报错 <dependency> <groupId>commons-fileupload</groupId> <a ...

  2. JSP 文件上传下载系列之二[Commons fileUpload]

    前言 关于JSP 文件上传的基础和原理在系列一中有介绍到. 这里介绍一个很流行的组件commons fileupload,用来加速文件上传的开发. 官方的介绍是:  让添加强壮,高性能的文件到你的se ...

  3. jsp/servlet上传

    common-fileupload组件 下载地址:http://jakarta.apache.org/commons/fileupload/ 下载后解压zip包,将commons-fileupload ...

  4. JSP 文件上传下载系列之一[基本方式上传文件]

    前言 在jsp的web项目中,很有可能会使用文件上传的功能. 把一个本地的文件上传到web 服务器的某个路径下. 对于java 来说, 实现这样功能的开源组件有很多, 比如较常用的commons-fi ...

  5. java web servlet、servlet容器 HTTP服务器和mvc三层架构或者说servlet属于哪一层的,给我搞的晕晕的,今天终于弄明白了

    0 我们先看Web容器是什么? 首先,让我们简单回顾一下web技术的发展历史,可以帮助你理解web容器的由来. 早期的web应用主要用于浏览新闻等静态页面,HTTP服务器(比如Apache,Nginx ...

  6. 后台学习六---ajaxFileupload文件上传下载

    这一章讲讲文件的上传下载,这里我们使用ajax的上传文件方法. ps:基于maven的springmvc框架都已经搭建好了的,如有问题,参考 : 后台学习一-spring+maven+mybatis+ ...

  7. 关于SpringMVC框架实现简单的文件上传下载(ssm)

    关于ssm框架整合文件的上传和下载. 首先来看单个附件的上传和下载: 1.首先创建一个用来测试的jsp文件上传下载的页面  代码如下 <%@ page language="java&q ...

  8. android 文件上传工具类,Android快速开发架构PlanA(五),文件上传下载了解一下...

    1.PlanA文件上传&下载的使用 PlanA架构集成第五篇,文件上传下载的使用,文件上传&下载在APP里面随处可见,发朋友圈要上传图片或者短视频,换个头像要上传选择的图片,offic ...

  9. JSP基础:(7)jsp分页与文件上传下载

    目录 1 jsp分页 1.1 定义 1.2 Servlet控制器方法 2 文件上传下载 2.1 定义 2.2 SmartUpload 2.2.1 介绍 2.2.2 SmartUpload组件-Requ ...

  10. MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页

    本文章主要介绍了一个简单的实例:用简单的MVC分层思想,使用数据库在web界面进行增删改查,以及上传,模糊查询+分页的实现. 1.util层(数据库连接管理) :连接数据库需要导包:mysql-con ...

最新文章

  1. 程序员老司机“随意开车”,恶搞代码让你分分钟玩死程序员!
  2. 男人心疼女人的十种方式
  3. python中x=x+1的读法-python中xrange和range的区别
  4. ai人工智能服务器操作系统,全球首款100%纯国产的AI操作系统来了,但说媲美Windows有意义吗...
  5. php作为弱语言是最棒的~哈哈哈哈
  6. TextBox控件中只输入整数的几种方法
  7. MFC+OPENCV+显示MAT类型图像
  8. 简单类及成员实例【C#】
  9. ssis 派生列_SSIS脚本组件与派生列
  10. 安装电脑硬件要求_2019,8月,精雕设计多档次电脑硬件配置推荐
  11. Proxmark3 Easy破解门禁卡(转载 珍贵知识防止掉失)
  12. 3dMax导入unity 材质问题
  13. 计算机类绘图的文献,基于计算机CAD绘图探讨论文
  14. 【Gitee + Hexo】从0开始搭建自己的博客网站
  15. 图片处理 毛玻璃效果
  16. 2021.11.8-11.14 AI行业周刊(第71期):AI行业经验
  17. HDU 4069 Squiggly Sudoku DLX 精确覆盖
  18. 外贸软件之冷冻食品进口贸易管理系统
  19. 【热门主题:喵星人高清桌面壁纸】
  20. 一个四位数的各位数字的立方和

热门文章

  1. 教师计算机培训汇报ppt,教师培训工作总结ppt模板
  2. SpringDataJpa原理及使用
  3. 酷睿i7 8750h相当于什么水平 i78750h属于什么级别
  4. 16进制颜色透明度对照表
  5. 工厂如何引入ERP生产管理系统
  6. 到底灰度化是在干什么?
  7. [插件安装] VS插件番茄的安装
  8. html斜杠单元格,用斜杠拆分左侧单元格的html表
  9. SS端口已被占用 1080
  10. sql 语句,主键外键详解