栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

JSP总结

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSP总结

jsp就是java和html结合在一起,这里引入了一个新的概念:碎片化代码。即在html代码中嵌套java代码。

关于jsp的运行机制: 可以把Tomcat看作一个jsp容器,客户端向Tomcat请求jsp页面,在服务器内部(Tomcat).jsp先是翻译为.java,然后经过编译变成.class,然后执行java实例返回响应给客户端(展示在页面上)。

jsp的组成 jsp书写
  • <%@ %>可以直接在里面定义变量和方法,后续直接调用。
  • <%@include %>:如果想每个界面都用到一些声明,可以把这些声明写出单独文件,用<%@include %>或者包含进来。
  • <%! %>放置java的变量或者方法声明语句,所声明的变量在整个jsp页面中有效。
  • <%= %>内容以字符串的形式发送到客户端显示(在界面中显示),这个功效和<% out.print(); %>等同。
  • <% %>:在html代码中嵌套的java代码就是在这里面写。
JSP操作指令 跳转分类

服务器端跳转: 又称为内部跳转,当客户端向服务器发送一个请求,请求当前资源时,这个资源在服务器内部跳转到另一个资源,再向客户端发送一个响应(即客户端只产生了一次请求)。

客户端跳转: 又称为外部跳转,当客户端向服务器发送一个请求,请求当前资源时,这个资源向客户端发送一个去请求其他地址的回应。客户端再根据这个地址去进行下一次请求(即客户端产生了两次请求)。

forward:浏览器显示的网页重定位到另一个html文件或者jsp文件。

forward语句时无条件跳转,使用该跳转语句,虽然页面内容已经跳转了,但是地址栏没有任何变化,意味着:用户的请求依旧没有改变,所以属于服务器跳转



或者


怎么提交呢?
在form表单想有一个action属性,提交表单时,表单数据会被提交到action属性值的页面。

用户名:
各种对象


out对象

out.print():输出。
out.println():换行输出。
out.flush():实现向客户端输出缓存区数据。
out.close():用来关闭输出流。
不过out.println():的换行经常被浏览器解析忽略,所以还是得用out.println(“< br/>)来实现。

request

客户端请求一个JSP网页时,请求信息(参数)会分装在request对象中,可以对request对象调用相应的方法获得需要的参数。
服务器跳转的特点:request的请求数据可以传递,比如a->b,b->c,那么a->b->c。

用get方式提交表单,Tomcat8.0后不需要处理乱码,post需要进行乱码处理。(action)

response对象


setHeader(“refresh”,“时间/s”);可以实现间隔固定时间刷新界面。
(这种刷新方式会显示刷新)

request和response的区别

Session对象

session是一个会话变量,当浏览器第一次访问服务器时,服务器创建一个session对象(该对象有一个唯一的id,一般称之为sessionId),服务器会将sessionId
以cookie的方式发送给浏览器,在同一个浏览器窗口中,无论向服务器发送多少请求,session对象只有一个(比如防止一个问卷被同一个用户多次填写)。当浏览器再次访问服务器时,会将sessionId发送过来,服务器依据sessionId就可以找到对应的session对象。
是服务器为了保存用户状态而创建的一个特殊的对象。
(再说一下,session是指在同一个浏览器,同一个网站(同一个javaweb项目)的一次访问(没有关闭浏览器)中是一致的,比如我用谷歌浏览器访问京东网站写的所有页面是同一个session。session只有在这个浏览器属于这个网站的所有页面都关闭了才会销毁)

但是如果在一个会话中,客户端长时间不向服务器发出请求,session对象就会自动消失。这个时间取决于服务器,但是我们可以通过编写程序进行修改这个session的生命周期的时间。
session.setMaxInactiveInterval(10000);用来设置session的有效期为10000秒,超出这个范围将失效。

也可以通过session对象存储或者读取客户的相关信息,例如用户名或购物信息等,可以通过session对象的setAttribute(String name,Object obj)方法(设置属性信息)和getAttribute(String name)的方法(获取属性信息)实现。注意的是getAttribute()方法的返回值是Object类型,如果将获取到的信息赋给String类型的变量,则需要进行强制类型转换或者调用其的toString()方法。

session对象中保存和检索的信息不能是基本数据类型,得是Object对象。

application对象

和session相似,application它类似于系统的全局变量,用于保存所有程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁的时候,所有用户都可以享用该application对象。它的生命周期可以说是最长的。但是其应用程序初始化的参数是要在web.xml文件中进行设置的,通过标记配置应用程序初始化参数。也就是说同时再打开另一个浏览器,他们使用的都是同一个application对象。(不同浏览器是同一个application对象)
(总的说一下,就是你访问一个网站是要向它所属的服务器请求的(比如Tomcat),你只要访问,Tomcat就打开了。不管是哪一个浏览器,只要访问的是同一个网站,服务器(Tomcat)没关就是同一个application,比如我用火狐和谷歌访问京东网站时同一个application)

session和application的区别

session的范围是同一个浏览器同一个网站(javaweb项目)
application的范围是任意浏览器同一个网站同一次对服务器的申请访问,服务器没关application就不会销毁。

作用范围:request < session < application
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/827266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号