jsp文件怎么打开(java-web中jsp的理解)JSP:Java Server Pages。JSP是一种网页的编码格式,不同于HTML的是JSP中是由 HTML中的标签指令 和 Java逻辑代码 拼凑而成, 其中的Java代码类似于JavaScript中的逻辑代码, 但相对比来说JSP中的Java代码更方便阅读和书写.

一:JSP的运行原理

当JSP页面被运行时,WEB容器会把请求交给JSP引擎处理,会将JSP翻译成一个_jspServlet,然后按照Servlet的调用方式来进行调用,

浏览器向服务器发请求,不管访问的是什么资源,其实都是在访问Servlet,所以当访问一个jsp页面时,其实也是在访问一个Servlet,服务器在执行jsp的时候,首先把jsp翻译成一个Servlet,所以我们访问jsp时,其实不是在访问jsp,而是在访问jsp翻译过后的那个Servlet,

二:Tomcat

Tomcat在Web中的作用:

Tomcat是Web中的容器,

当客户在Web服务器中输入请求的时候, 如果请求的动态页面, 那么Web服务器会创建一个Servlet来处理, Servlet就是Java代码, 只是在服务器端的Java代码, Servlet通过配置文件来拦截客户所发出的请求, 并进行相应的处理, 最后反馈到客户端.

在这一系列的请求中,Web服务器是如何创建出Servlet来对请求进行处理? 而Tomcat的作用就是帮助Web服务器来创建Servlet的

Tomcat是应用(java)服务器,它只是一个Servlet容器,是Apache的扩展,处理动态页面的部分

Tomcat各个文件夹的含义

bin:二进制执行文件。里面最常用的文件是startup.bat

conf:配置目录。里面最核心的文件是server.xml。可以在里面改端口号等。默认端口号是8080,也就是说,此端口号不能被其他应用程序占用。

lib:库文件。tomcat运行时需要的jar包所在的目录

logs:日志

temp:临时产生的文件,即缓存

webapps:web的应用程序。web应用放置到此目录下浏览器可以直接访问

work:编译以后的class文件。

当我们通过浏览器访问index.jsp时,服务器首先将index.jsp翻译成一个index_jsp.class,在Tomcat服务的work\Catalina\localhost\项目名\org\apache\jsp目录下可以看到index_jsp.class的源代码文件index_jsp.java,

index_jsp这个类是继承 org.apache.jasper.runtime.HttpJspBase这个类的,通过查看Tomcat服务器的源代码,可以知道在apache-tomcat-6.0.20-src\java\org\apache\jasper\runtime目录下存HttpJspBase这个类的源代码文件

HttpJspBase 类是继承 HttpServlet的,所以HttpJspBase 类是一个Servlet ,而index_jsp 又是继承 HttpJspBase类的,所以index_jsp类也是一个Servlet,所以当浏览器访问服务器上的index.jsp页面时,其实就是在访问index_jsp这个Servlet,index_jsp这个Servlet使用_jspService这个方法处理请求。

三:Jsp中的HTML代码和Java代码如何发送到客户端

1:jsp中的代码是由 Java代码 和HTML 代码组成的 但是两种不同的代码是如何实现他们的作用的?

在客户端发出请求时(请求的是动态代码) 但是客户端却只能看到HTML代码, Java代码是客户端看不到的

原因是: 请求的JSP页面中,所有的代码是通过了Web服务器(在Tomcat下)编译后的Servlet代码, 在jsp中编写的java代码和html代码都会被翻译到_jspService方法中去,在jsp中编写的java代码会原封不动地翻译成java代码,如直接翻译成out.print("Hello Jsp");,而HTML代码则会翻译成使用out.write("\r\n");的形式输出到浏览器。在jsp页面中编写的html排版标签都是以out.write("\r\n");的形式输出到浏览器,浏览器拿到html代码后才能够解析执行html代码。

当执行_jspService方法处理请求时,就会执行在jsp编写的java代码了,所以Jsp页面中的java代码服务器是通过调用_jspService方法处理请求时执行的。(_jspService中的Java代码是实现动态页面的逻辑基础)

Tags:

java 打开jsp文件_jsp文件怎么打开(java-web中jsp的理解)相关推荐

  1. java 文件下载 jsp文件_jsp文件 Java实现文件上传与下载

    通过前台选择文件,然后将资源上传到(即新建一个文件)到发布的资源文件下面, 下载就是url 到发布的资源文件,触发即可自动下载.服务器已经封装了如何下载的底层实现.(此处用的是tomcat) JSP上 ...

  2. java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库:1 ...

  3. java web 有哪些标签库_java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库:1 ...

  4. jsp 实验室管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一.源码特点   jsp 实验室管理系统  是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发.开发环境为 TOMCAT7. ...

  5. 更改eclipse中jsp默认编码格式为UTF-8

    近段时间一直在学java三大框架,遇到了一个问题:eclipse中jsp默认编码格式不是UTF-8,导致页面显示中文出现乱码,每次单独修改过于麻烦. 解决方案:window--Preferences- ...

  6. Java只读服务器,在服务器端,JSP页面如何只读打开本地的word文件并显示在网页上...

    在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上? 最近开发网站,遇到一个问题就是在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上,请问高位高手有没有什么解决办法, ...

  7. Java开发在线打开编辑保存Word文件(支持多浏览器)

    Java调用PageOffice实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 1. 下载PageOffice开发包:http://www.zhuo ...

  8. java开发在线打开编辑保存word文件

    Java调用logo是"P"图标的第三方插件,实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 工具/原料 Eclipse或MyE ...

  9. java jar 是什么文件_jar文件怎么打开?jar文件是什么?

    系统迷今天继续给大家分享个科普知识吧.很多朋友不知道jar文件是什么,在这里,我就简单做下记录,方便后来需要的朋友查询了解.jar文件其实是Java项目下生成的项目文件,当然也有用户称之为Java压缩 ...

最新文章

  1. SublineText 3 安装 Package Control插件
  2. 挑出IIS日志里某一文件的请求次数
  3. TF之RNN:实现利用scope.reuse_variables()告诉TF想重复利用RNN的参数的案例
  4. VTK:小部件之AngleWidget2D
  5. java ssm项目_JAVA项目:逝去的SSM
  6. Spring : 异步注解 @EnableAsync 和 @Async
  7. web app iphone4 iphone5 iphone6 iphone6 Plus响应式布局 适配代码
  8. 再论数据仓库与数据库的区别
  9. zookeeper 客户端常用命令_看完这篇文章,还说自己不会使用Zookeeper命令吗?
  10. 键盘输入123456789c语言,Python:键盘输入input
  11. CCKS2019总结
  12. mysql 按记录编号_告别硬编码,mysql 如何实现按某字段的不同取值进行统计
  13. 中民协元宇宙工委承办|2022年世界互联网大会乌镇峰会元宇宙主题咖荟
  14. Js 字符串属性及方法
  15. python怎么编译dex_用python一步步解剖dex文件(二)
  16. python打包exe实用工具auto-py-to-exe的操作方法
  17. AlphaBeta剪枝算法
  18. java图片去掉文字_java解出图片中的文字
  19. 盘点丨2017年国内最酷的10家大数据创业公司
  20. unity 项目实践经验 和 架构体系

热门文章

  1. 1032 Sharing (25 分) 【难度: 一般 / 知识点: 链表】
  2. 数据操纵语言(DML)
  3. 手把手教你写C语言的动态库的开发
  4. 锁用不好,可能把自己锁住哦!(解决多线程的死锁问题)
  5. Mybatis的COMMENT生成备注
  6. Java之Number类
  7. python文件操作与异常处理_Python学习——文件操作和异常处理
  8. 不知怎么优化MySQL?先搞懂原理再说吧!
  9. 蓝桥杯-前缀表达式(java)
  10. 在myeclipse中导入图片