[Servlet&JSP] 从JSP到Servlet】的更多相关文章

很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行.因为JSP在执行第一次后,会被编译成 Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt. 因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了.Web容器处理JSP文件请求的执行过程主要包括以下4个部分: 1.客户端发出Request请求 2.JSP Container 将J…
最近又遇到了这种问题,百度了好久,发现有人说要在action的路径里面写Servlet文件的绝对路径,比如说,单独打开servlet的地址为http://localhost:8080/TomcatTest/LoginConfServlet,那么就在action里面写http://localhost:8080/TomcatTest/LoginConfServlet. 我尝试着将http://localhost:8080移除,只保留/TomcatTest/LoginConfServlet,还是可以成…
 一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 浏览器解析的时候是需要HTTP协议的,JAVA普通类有没有HTTP协议呢? 普通类没有. JAVA-(class)浏览器如何访问呢? 浏览器---HTML A   JAVA通过IO流生成HTML--->浏览器 B   JAVA 需要加入HTTP协议 解决上面2个问题可以通过 Servlet C  如…
序: 众所周知JSP的基础也就是Servlet,如果单纯用Servlet类来响应用户的HTTP请求可以吗?答案是肯定的.JSP中的9个内置对象只是自动帮我们初始化的,没有他们一样可以实现web.只是工作量繁琐度的问题. 4.1.第一个Servlet: 首先:需要新建一个继承自HttpServlet的子类.并且重写public void service(ServletRequest request, ServletResponse response)方法.此方法用来接收所有方式的HTTP请求,do…
一.Servlet 生命周期 1.加载 2.实例化 3.初始化 4.处理请求 5.销毁 二.Servlet与cgi的区别: Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁, 而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet. 三.Servlet与JSP的比较: 有许多相似之处,都可以生成动态网页. JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错. Servle…
package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import java.util.*; public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDepe…
问题: 首页点击一个连接,切换div(id = cc_bi)             <div id="K_a">                 <a href="TestDire.jsp?#cc_bi">cc_bi</a>             </div> 提交表单后,企图直接回到div(id = cc_bi)视图.servlet代码如下: request.getRequestDispatcher("…
一个简单的例子来了解一下jsp页面转发到servlet的过程,环境 eclipse.tomcat 1.工程目录结构如下 2.各部分代码如下 1>index.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML…
Servlet / JSP / Tomcat  Version  Servlet/ JSP    Tomcat  2.5/2.1 6.0.18 2.4/2.0 5.5.27 2.3/1.2 4.1.39 2.2/1.1 3.3.2 (archived) Servelt / JSP/JSTL / J2EE Version Servlet JSP JSTL Java EE 2.5 2.1 1.2 5 2.4 2.0 1.1 1.4 2.3 1.2 1.0 1.2 http://www.cnblogs…
1.错误描述 Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File "/pageFoot.jsp "not found 2.错误原因 <jsp:include page="../../pageFoot.jsp"></jsp:include> 3.解决办法 利用<jsp:include></jsp:includ…
我们知道java虚拟机只认识class文件,要在虚拟机上运行就必须要遵守class文件格式,所以JSP编译成servlet后还需要进一步编译成class文件,但从JSP文件到java文件再到class文件的过程需要考虑的事情比较多,其中一个比较重要的就是调试问题,由于语法不一样,jsp某行执行的逻辑怎样与java文件对应起来,这样在JVM执行过程发生异常或错误才能找到JSP对应的行,提供一个友好的调试信息.类似的,jsp文件名编译后的java文件名同样也要有映射关系. 总的来说,为了解决从非ja…
JSP编译后的Servlet类会是怎样的呢?他们之间有着什么样的映射关系?在探讨JSP与Servlet之间的关系时先看一个简单的HelloWorld.jsp编译成HelloWorld.java后会是什么样. ①HelloWorld.jsp <%@ page contentType="text/html; charset=gb2312" language="java" %> <!DOCTYPE HTML PUBLIC "-//W3C//DT…
JSP转译成Servlet详细过程 JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术.Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容. 由于包括大量的HTML标签.大量的静态文本及格式等,导致Servlet的开发效率极为低下.所有的表现逻辑,包括布局.色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦.JSP的出现弥补了这种不足,JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Jav…
一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题. 2. 绝对路径概念 相对于contextPath(当前Web应用的上下文)的路径. 解决方案:超链接用绝对路径而不是相对路径.若/代表的是站点的根目录,在其前面加上contextPath. <a href="<%= request.getConte…
jsp页面本质上是一个servlet,jsp页面是一个以.jsp结尾的文本文件. jsp自带的API包含4个包: javax.servlet.jsp.包含用于servlet/jsp容器将jsp页面翻译为Servlet的核心类和接口.其中的两个重要成员时jspPage和HttpJspPage接口.所有的jsp页面实现类必须实现jspPage和HttpJspPage接口.在HTTP环境下,实现HTTPJspPage接口是显而易见的选择. javax.servlet.jsp.tagext.包括用于开发…
概述 在Servlet中编写HTML太麻烦了,应该使用JSP.JSP中可以直接编写HTML,使用指示.声明.脚本(scriptlet)等元素来堆砌各种功能,但JSP最后还是会被容器转译为Servlet源代码.自动编译为.class文件.载入.class文件,然后生成Servlet对象. 在第一次请求JSP时,容器会进行转译.编译与加载的操作,所以第一次请求JSP页面会慢很多. 源码分析 若使用Tomcat 7或Glassfish v3作为Web容器,最后由容器转译后的Servlet类是继承自Ht…
一,工具类,分页类和连接数据库jdbc package com.direct.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class ConnCreate { private static final String…
JSP.Java和Servlet获取当前工程的路径: 1.JSP中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TEST/test.jsp(2)得到工程名:request.getContextPath()结果:/TEST(3)得到当前页面所在目录下全名称:request.getServletPath()结果:如果页面在jsp目录下 /TEST/jsp/test.jsp(4)得到页面所在服务器的全路径:applic…
jsp当做第二个servlet  request的生命周期   请求 响应  不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束  request的域消失…
1. JSP 内置对象 application: ●application 对象类似于系统的 "全局变量", 用于同一个应用内的所有用户之问的数据共享: ●application对象的常用方法: 方法名称 说  明 void setAttribute(String key,Object value) 以key/value的形式将对象储存到application中: Object getAttribute(String key) 通过key获取application中存储的对象 Stri…
1.容器根据你所写的JSP生成一个类, /* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/7.0.77 * Generated at: 2017-06-11 15:47:28 UTC * Note: The last modified time of this file was set to * the last modified time of the source file aft…
// javaBean代码 package servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class AcceptUserRegist extends HttpServlet { public String codeToString(String str) // 处理中文字符串的函数 { String s=str; try { byte tempB[]=s.getByt…
Jsp最终都会转化成java形式的Servlet执行,因此也可以说Jsp的本质就是Servlet,在jsp执行后,会在服务器上(例如tomcat中)生成.java以及.class文件.具体执行过程如下: Fig.1 Jsp的执行过程 Fig.2 Jsp具体执行过程 如图所示,Servlet能实现的功能,Jsp也能实现. 举个简单的例子,之前我用jsp显示前端+Servlet实现后端逻辑,这里我把逻辑实现也用Jsp实现: <body> <form action="ResultJs…
JSP与Servlet是一体的两面,JSP最后都会被容器转译为Servlet源码,自己主动编译为.class文件,载入.class文件然后生成Servlet对象. 由容器转译后的Servlet类具有_jspInit()._jspDestroy()._jspService()等方法,名称中有下划线前缀,表示这些方法都是容器转译时维护的,我们不应该从写这些方法.假设想要做些JSP初始化或收尾的工作.则应定义jspInit()或jspDestryoy()方法. 指示元素 JSP指示(Directive…
已登录页面为例子: 1.login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/l…
以servlet作为控制器 1:servlet的生命周期:以下方法都是servlet容器进行调用 1)构造函数:只被调用一次,当项目启动时或者该servlet被容器第一次调用时,会创建servlet实例,所以servlet是单例模式. 2)init方法:只被调用一次,当servlet实例创建成功后会立即调用init方法,用来初始化servlet: 3)service方法:每次请求都会被调用一次,实际是用来响应请求的: 4)destroy方法:只被调用一次,在当前servlet所在的web应用程序…
21 什么是JSP?它和Servlet有什么区别?答:你可以将JSP当做一个可扩充的HTML来对待.虽然在本质上JSP文件会被服务器自动翻译为相应的Servlet来执行.可以说Servlet是面向Java程序员而JSP是面向HTML程序员的,除此之外两者功能完全等价. 10 什么是Servlet?答:一个Servlet是一个Java类.它处理Http(s)请求并作出响应,包括返回一个HTML页面或转交给其他URL处理.Servlet必须运行在一个Web Container例如Tomcat中.Se…
我在项目中导入了jar,还是不能使用EL表达式,一运行就出现了下面的额错误: org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWra…
Servlet简介 什么是Servlet 其实就是一个类,主要负责处理用户的请求和做到数据的相应以及页面的跳转,基于Java技术的Web组件 Servlet API Servlet接口 Servlet与JSP的关系 JSP首先转换为.java文件,被JVM编译成一个.class,其实上他俩就是一个东西 JSP负责进行页面数据的渲染 Servlet处理请求和相应 Servlet的创建配置启动 1.实现Servlet接口 init():初始化Servlet 默认Servlet的初始化在首次访问到Se…
package loaderman.fy.action; import java.io.IOException; import java.io.PrintWriter; import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSer…