JSP Java服务器页面
大家好!好久不见!今日我们开始学习JSP了,一些记录基础性的知识在这里与大家分享。
先说下URL(Uniform Resource Locator 统一资源定位符)。
URL包括传输协议(http://),ip地址,端口(端口如果是80可以省略,其他不能省略),项目资源地址。
再来说下B/S,C/S架构。
B/S(browser/server)是浏览器/服务器;
浏览器和服务器端采用请求/相应模式进行交互;
B/S结构是对C/S结构的一种改进;
当应用成武为B/S结构时,程序部署在应用服务器上,并通过应用服务器同数据库服务器进行通信,在客户机上无需安装任何文件,系统界面是通过浏览器来实现的;
B/S结构建立在Internet的基础上,所以访问范围比C/S大。
C/S(client/server)是客户端/服务器。
从维护和升级角度,B/S更加简单。
再说下Tomcat。Apache Jakarta的开源项目,JSP/servlet容器,web容器。使用Java进行Web编程时,需要发布到Web容器中才能运行。
Tomcat安装后端口默认是8080;
可以向发出请求的浏览器提供文档的程序;
提供网上的信息浏览服务。
Tomcat服务器的目录结构:
/bin目录:存放各种平台下用于启动和停止Tomcat的脚本文件;
/conf目录:存放Tomcat服务器的各种配置文件;
/lib目录:存放Tomcat服务器所需的各种JAR文件;
/logs:存放Tomcat的日志文件;
/temp:Tomcat运行时用于存放临时文件;
/webapps:当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中;
/work:Tomcat把由JSP生成的Servlet防御此目录下。
Web项目的目录结构:
/:Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等);
/WEB-INF:存放应用使用的各种资源,该目录及其子目录对客户端都是 不 可以访问;
/WEB-INF/classes:存放Web项目的所有class文件;
/Web-INF/lib:存放Web应用使用的JAR文件。
使用JSP开发web项目时,web.xml文件位于WEB-INF目录下。
手动部署Web应用的步骤:
1.编写Web应用的代码;
2.在webapps目录下创建应用文件目录;
3.将创建的页面复制到应用目录下;
4.启动Tomcat服务并进行访问。
JSP执行过程:
1.翻译阶段:编写好的JSP文件首先被web容器中的JSP引擎转换成Java源码;
2.编译阶段;Java源码会被编译成可执行的字节码;
3.执行阶段。容器接受客户端的请求后,执行编译成字节码的JSP文件。处理完请求后,容器把生成的页面反馈给客户端进行显示。
JSP(Java Server Pages 一种Java语言的服务器端页面技术):在HTML中嵌入Java脚本代码。
  JSP的3种注释:
     HTML的注释(网页查看源代码时会看到此注释):
        <!--html注释-->
     JSP注释(网页查看源代码时看不到此注释):
        <%--JSP注释--%>
     在JSP脚本中注释(网页查看源代码时看不到此注释):
        <%//单行注释%>
        <%/*多行注释*/%>
JSP页面元素:
静态内容:HTML静态文本;
指令:以"<%@"开始,以"%"结束>
小脚本:<%Java代码%>
表达式:<%=Java表达式%>
声明:<%!方法%>
JSP内置对象是Web容器创建的一组对象,一组类的实例。
常用的JSP内置对象:
out --输出语句
request --处理客户端请求
response --相应客户请求
session --会话对象。一次会话是指一次请求和一次相应。
可以保持每个用户的会话信息,为不同的用户保存自己的数据,存储在客户端。
application --应用程序
实际上JSP就是Servlet,运行在服务端。在后台进行动态编译后最终想客户端输出普通html代码,需要运行在Tomcat类似servlet容器中,在JSP文件中可以嵌入Java代码。
转发与重定向:
转发:转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递;
客户端浏览器的地址栏不会显示出转向后的地址。
重定向:重定向实在客户独胆发挥作用,通过请求新的地址实现页面转向;
在地址栏中可以显示转向后的地址。
以上仅个人观点,若有不同,可以提出,共同进步!
JSP Java服务器页面的更多相关文章
- JSP(Java Server Pages,即:Java服务器页面
		
是一种跨平台的动态网页技术标准,由Sun Microsystems公司倡导.多家公司参与建立. 它在HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(* ...
 - Eclipse创建的Java Web项目,如何启用外置浏览器访问jsp或者html页面
		
当我们用Eclipse创建了一个Java Web项目,想访问一个jsp或者html页面时,通常会在目标页面(以jsp为例)上点击鼠标右键,选择[Run As]——>[Run on Server] ...
 - jsp(java server pages):java服务器端的页面
		
jsp(java server pages):java服务器端的页面 JSP的执行过程1.浏览器输入一个jsp页面2.tomcat会接受*.jsp请求,将该请求发送到org.apache.jasper ...
 - 新手详解JAVA+数据库+JSP完成简单页面
		
本篇以数据库添加为例(本例中数据库名为“xinxi”表单名字为“stud”) 准备---实体层: package entity; public class Student { private Stri ...
 - JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术
		
JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术.从这一点来看,非常类似Microsoft ASP.PHP等技术.借助形式上的内容和外观表现的分 ...
 - 转:java服务器安全指南
		
转: http://drops.wooyun.org/web/16609 JAVA安全之JAVA服务器安全漫谈 z_zz_zzz · 2016/06/08 10:50 0x00 前言 本文主要针对JA ...
 - JSP(Java Servlet Page)
		
一.简介 HTML HTML擅长显示一个静态的网页,但是不能调用Java程序. Servlet Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. 我们希望创建 ...
 - servlet+jsp+java实现Web 应用
		
servlet+jsp+java实现Web 应用 用java来构建一个web应用是特别容易的事情,jsp和php很像,可以嵌套在html中.程序的结构很简单,也很清楚,本文主要记录下大概的开发过程和环 ...
 - servlet+jsp update修改页面的实现,整整搞了两个小时才搞定
		
package DAO; public class books { private int bid; private String bname; private int booksl; private ...
 
随机推荐
- python tips:类的动态绑定
			
使用实例引用类的属性时,会发生动态绑定.即python会在实例每次引用类属性时,将对应的类属性绑定到实例上. 动态绑定的例子: class A: def test1(self): print(&quo ...
 - 【JavaScript框架封装】在实现一个自己定义类似于JQuery的append()函数的时候遇到的问题及解决方案
			
主要问题: 在刚开始创建了这个函数之后,使用的时候,总是会出现一个问题,就是按照正常步骤给一个ID选择器添加子节点的时候正常,但是到了给一个class选择器的元素添加的时候始终只能添加一个. 下面是我 ...
 - eclipse debug的时候提示debug Edit Source Lookup path
			
原因可能是代码资源包未加载到debug的路径中,解决方法如下: Debug 视图下 ->在调试的线程上 右键单击 ->选择Edit Source Lookup Path ->选择Ad ...
 - 【CodeForces 353 A】Domino
			
[链接] 我是链接,点我呀:) [题意] [题解] 分类讨论一波 设第一个数组的奇数个数为cnt1 第二个数组的奇数个数为cnt2 显然只有在(cnt1+cnt2)%2==0的情况下. 才可能第一个数 ...
 - HDU 1061 EASY
			
//回宿舍去了,明天做点难一点的题,今天做的都很水,感觉.没意思.#include <iostream> #include <cstdio> using namespace s ...
 - 使用CSStickyHeaderFlowLayout实现头部固定的CollectionView
			
近期流行的一种界面效果,是瀑布流的header固定,也叫sticky header或者parallax.对于UITableView,能够比較方便地让table header固定,可是对于UIColle ...
 - 一个三年Android开发的总结-开篇
			
一个三年Android开发的总结-开篇 转眼间全职从事Android开发已有三年,想把这一阶段的积累总结记录并展现出来,作为Android开发必备的知识,希望对有一定Android开发基础的人进阶有裨 ...
 - ES内存持续上升问题定位
			
https://discuss.elastic.co/t/memory-usage-of-the-machine-with-es-is-continuously-increasing/23537/ ...
 - python绘制caffe中网络模型
			
caffe-master/python/draw_net.py 实现绘制caffe中定义的网络模型功能,将.prototxt文件可视化. 需要先安装pydot和protobuf工具 通过Anacond ...
 - Java-杂项: Java中Array和ArrayList区别
			
ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...