jsp20分钟入门

1.常见状态码:

  • 404:资源不存在
  • 200:一切正常
  • 403:权限不足
  • 3xx: 重定向
  • 500:服务器内部错误(代码有误)

2. jsp 在html中嵌套java代码

3. 虚拟路径

将web项目配置到webapps以外的目录
a.方式一

conf/server.xml中配置
host标签中配置

docBase 实际路径
-path 相对路径(绝对路径)虚拟路径

b.方式二

conf\Catalina\lacalhost中新建“项目名.xml”中新增一行:

4. 虚拟主机

www.test.com访问本机

a. conf /server.xml
b.C:\Windows\System32\drivers\etc\host
  • 增加
  • 127.0.0.1 www.test.com

5. jsp执行流程

第一次访问:jsp–>java(servlet文件)–>class
第二次访问:直接访问class文件

  • 若代码修改,则重新编译
  • jsp和servlet可以相互转换
    第一次请求服务端,会有编译的过程,所以比较慢,第二次就不会了,若修改了服务端代码,则会继续编译

6. Eclipes 开发web项目(Jsp项目)tomcat

7. Eclipse中的Web项目:

  • 浏览器可以直接访问WEBContent中的文件,但是WEB-INF中的文件 无法通过浏览器直接访问,只能通过请求转发实现。
  • 注意:并不是任何的内部跳转都可以访问WEB-INF;原因是 跳转有两中方式:请求转发,重定向

8.配置tomcat运行环境

jsp<—>Servlet

  • a.将tomact/lib中的servlet-api.jar放入项目中
  • b.右键项目->Build Path->Add libatrty->Server Runtime

9.统一字符集编码

a.编码分类:

1.设置jsp文件编码(jsp文件中的pageEncoding属性): jsp->java
2.设置浏览器读取jsp文件编码(jsp文件中的content属性)

  • 一般将上述设置一样,推荐用UTF-8
文本编码:

1.统一设置,整个eclipse文件
2.设置某一个项目文件
3.设置单独文件(右键->属性)

10.部署tomcat

在servers面板,新建一个tomcat实例,再在该实例中部署项目(右键-add)之后运行
-注意 :一般建议将tomcat中的配置信息与ecplise中的tomcat设置为托管模式

11.JSP的页面元素

HTML,java代码,指令,注释

a. 脚本 Scriptlet
  1. <%
    局部变量,java变量
    %>
  2. <%! 
                  全局变量,定义方法
     %>
    
  3.  <%=输出表达式 %>
    
  4.  <
    
注意
  • 一般,修改web.xml,配置文件,java 需要重启动tomcat服务,如果修改jsp\html\css\js,不需要重启。
  • out.println();不能回车
    可以回车,可以直接解析html代码
b.指令

1.page指令
<%@ page %>
2.page指定的属性

  • language:jsp页面使用的脚本语言
  • import:导入类
    pageENcoding:jsp jsp->java
    contentType:浏览器解析的jsp编码
    <%@ page language=“java” contentType="text/html; charset=ISO-8859-1"pageEncoding=“ISO-8859-1” import= “java.util.Date”%>
c.注释

1.html注释 可以通过客户通过浏览器查看源码所观察到
2.java注释// /**/
3.jsp注释<%-- --%>

12.JSP九大内置对象(自带的,不需要new 也能使用对象)

1.out:向客户端输出,输出对象;
2.pageContext:
3.request:请求对象;存储“客户端向服务端发送的请求信息”
  • requset对象的常用方法:
    1.String getPartameter(String name):根据请求的字段名(input标签的name的属性值),返回字段值value(input标签的value属性)
    2.String[] getPartameterValues(String name):根据请求的字段名,返回多个字段值value(checkbox)
    3.void setCharacterEncoding(“编码格式utf-8”):设置请求编码(tomcat7以前默认iso-8859-1,tomcat8以后改为utf-8)
    4.getRequsetDispatcher(“b.jsp”).forward(request,reponse); :请求转发的方法跳转页面 A->B
    5.getServerContext():获取项目的ServerContext对象
示例:

1.注册
regidter.jsp,show.jsp

http://localhost:8080/MyJspProject/show.jsp?uname=17734972115&upwd=dfs&uage=12&uhobbies=%E8%B6%B3%E7%90%83&uhobbies=%E7%AF%AE%E7%90%83&uhobbies=%E4%B9%92%E4%B9%93%E7%90%83

get提交方式:method="get"和地址栏提交方式都属于get提交,甚至超链接方式。

post与get请求方式的区别

a.get方式在地址栏显示请求信息(地址栏可以容纳的信息有限,4-5kb);post不会显示
b.文件上传操作,必须是post(推荐使用post)

4.session(服务端)
5.Cookie(客户端,不是内置对象) :由服务端产生,再发送到客户端保存。
  • 相当于本地缓存的作用:客户端(hello.MP4)->服务端(hello.MP4)
  • 作用:可以提高服务端的效率,但是安全性较差。
  • Cookie:key=value
  • javax.servlet.http.Cookie
    1.public Cookie(String name,String value)
    2.String getName()获取name
    3.String getValue()获取value
    4.void setMaxAge(int exprity);最大有效期(秒)
  • 服务端发送给客户端
    respones.addCookie(Cookie cookie)
    页面跳转(转发,重定向)
    客户端获取cookie:request.getCookies()
  • 注意
    1.服务端增加cookie:response对象;客户端获取对象:request对象
    2.获取全部cookies;
  • 发现
    通过F12可以发现,除了自己设置的Cookoe对象外,还有一个name为JSESSIONID的cookie
6.appplicaton
7.config
8.page
9.exception
10.response:响应对象:
  • response常用方法:
    1.void sddCookie(Cookie cookie);服务器向客户端增加cookie对象
    2.void sendRedirect(String location)throws IOException:页面跳转的一种方式(重定向)
    3.void setContentType(String type):设置服务器响应编码(设置服务端的contentType类型)
示例:

1.登录
login.jsp ->check.jsp->success.jsp
请求转发和重定向的区别: 请求转发 重定向
1.地址是否改变 不变(check.jsp) 改变(success.jsp)
2.是否保留第一次请求
时的数据 保留 不保留 4种范围对象
3.请求次数 1 2
4.跳转发生的位置 服务端 客户端发出的第二次跳转

在这里插入图片描述
在这里插入图片描述

转发:
张三(客户端) -> 【服务窗口a(服务端) ->服务窗口B】
重定向:
张三(客户端)-> 【服务窗口a(服务端)->去找B】
张三(客户端)-> 【服务窗口b(服务端)】

统一请求的编码 repuset

get方式出现乱码,解决:
a.统一每一个变量的编码。(不推荐)
tomacat7(iso-8859-1)-------utf-8
new String(旧编码);
new String (name.getBytes(“iso-8859-1”),“utf-8”);
b.修改server.xml,一次性的更改tomcat默认提交get提交方式的编码
建议使用tomcat,统一更改… URIEncoding=“UTF-8”
//对post方式有用

new String (name.getBytes(“iso-8859-1”),“utf-8”);
b.修改server.xml,一次性的更改tomcat默认提交get提交方式的编码
建议使用tomcat,统一更改… URIEncoding=“UTF-8”
//对post方式有用
request.setCharacterEncoding(“utf-8”);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抗争的小青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值