`

Web开发4:JSP转换为Servlet源代码深度解析

阅读更多

JSP的注释写法是:<%--JAVA代码--%>

如下语句中,不需要加;作为结束符。如下:

<%=new java.util.Date().toLocaleString() %>

反之在代码片段中要加;号作为分隔符。 

表达式:

 脚本段:

 

 

 

再看下面这个例子:

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html> 
  <body>
    <%!int a = 3; %>
    <%int b =3; %>
    <%=a--%>
    <%=b--%>
  </body>
</html>

 上例中的a使用声明语句来声明,而b在脚本段中声明。访问该JSP页面时,第一次在页面中会显示两个3 3,不断刷新页面会变成2 3,1 3。。。,即a的值会不断减1,之所会这样,是因为在产生的Servlet代码中,a是一个类的全局变量,而b是一个方法中的局部变量,由于Servlet是单例模式,即只会产生一个实例,故全局变量一直在内存中,所有用户都能访问到它,只有重启服务器才会重新初始化实例。

 

JSP的forward标签:

新建两个 JSP页面:分别为 forward.jsp和forwardto.jsp

forward.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
  	<jsp:forward page="forwardto.jsp">
  		<jsp:param name="username" value="hello"/>
  	</jsp:forward>
  	<!-- 下面这句不会执行 -->
  	<%System.out.println("hello"); %>
  </body>
</html>

 

forwardto.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
  <body>
  	<%
  		String username = request.getParameter("username");
  		out.print("welcome "+username);
  	 %>
  </body>
</html>

在forward.jsp页面中,执行到forward标签后,就会跳转到forwardto.jsp页面,后面的代码将不再执行。forwardto.jsp页面将接收forward.jsp页面转来的参数。

 

实例:

included.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
  	<%
  		String username = request.getParameter("username");
  		out.print("username is " + username);
  	 %>
  </body>
</html>

 

include.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
  	<jsp:include page="included.jsp">
  		<jsp:param name="username" value="king"/>
  	</jsp:include>
  </body>
</html>

 

 

分享到:
评论

相关推荐

    <jsp实用教程>书中所有例题代码.rar

    3. JSP生命周期:JSP页面被首次请求时,会被转换成Servlet源代码,然后编译成Servlet类,最后被加载到Web容器中执行。这个过程包括了翻译、初始化、服务和销毁四个阶段。 4. JSP内置对象:JSP提供了九个内置对象,...

    jsp 实用教程(第二版)程序源代码

    **JSP(Java Server Pages)实用教程第二版**是一本深度解析JSP技术的专业书籍,其配套源代码提供了丰富的实例,旨在帮助读者更好地理解和掌握JSP编程。在本教程中,作者通过详细的示例和实践指导,介绍了如何利用...

    jsp学习2

    预编译阶段,JSP文件被转化为Servlet源代码;编译阶段,Servlet源代码被编译成字节码,然后加载到JVM执行。 3. JSP动作(Actions): JSP提供了多种内置的动作,如`&lt;jsp:include&gt;`用于动态地插入一个页面,`&lt;jsp:...

    JSP网站开发典型模块与实例精讲源码.rar

    《JSP网站开发典型模块与实例精讲源码》是一个深度解析JSP网站开发的实践教程,包含了丰富的源代码示例,旨在帮助开发者理解和掌握JSP技术在实际项目中的应用。JSP(JavaServer Pages)是Java平台上的动态网页技术,...

    长城计算机学校JSP内部教案

    当客户端请求JSP页面时,服务器会将JSP页面转换为Servlet源代码,编译并执行,最终生成动态的HTML页面发送给客户端。编程结构分为Model1和Model2两种模型,其中Model1将业务逻辑与展示逻辑混合在JSP页面中,而Model2...

    Java开发指南-Servlets和JSP篇(PDG)

    4. **Servlet容器**:如Tomcat、Jetty等,它们提供Servlet和JSP的运行环境,解析和执行Servlet和JSP代码。 5. **MVC框架**:如Spring MVC,它提供了一套完整的解决方案,将Servlets和JSP整合进更现代的开发模式中。...

    Tomcat5.0.28源代码

    2. **Jasper**:Jasper是Tomcat中的JSP引擎,用于将JSP页面转换为Servlet,并对其进行编译和执行。 3. ** Coyote**:负责HTTP协议的处理,是Tomcat的网络连接器,它接收并处理来自客户端的HTTP请求,并将服务器的...

    How Tomcat Work Source

    JSP的处理涉及`org.apache.jasper.JspC`和`org.apache.jasper.compiler.Generator`类,它们负责将JSP转换为Servlet源代码,并通过`java.sun.net.www.protocol.jar.JarURLConnection`将生成的Servlet存入WEB-INF/...

    How Tomcat Works Source Code

    3. **Jasper**:JSP引擎,负责将JSP文件编译为Servlet源代码,然后由Catalina编译并执行。 4. **Apr(Apache Portable Runtime)**:提供系统级别的接口,如线程管理、网络连接等,提高了Tomcat的性能和稳定性。 ...

    JSp网络采集程序.rar

    2. **编译过程**:当JSP页面被请求时,服务器将其转换为一个Java Servlet源码文件,这个过程称为JSP翻译。之后,源码会被编译成字节码,并在后续请求中直接执行。 3. **执行流程**:用户通过浏览器发送HTTP请求到...

    how tomcat work

    如果请求的目标是一个JSP页面,Jasper会将JSP转换为Servlet源代码,编译成.class文件,然后按照Servlet生命周期进行加载和执行。 5. **响应生成**: Servlet生成的响应内容通过Response对象返回给Coyote,再由...

    ant1-9-4和tomcat7-0-57包

    Catalina处理Servlet的生命周期和部署,Coyote负责接收和响应网络请求,Jasper则将JSP转换为Servlet并执行。通过修改Tomcat的配置文件(如server.xml),开发者可以定制服务器的行为,比如添加虚拟主机、设置端口...

    jsp人工智能对话模拟

    JSP文件包含静态HTML和动态Java代码,当客户端请求JSP页面时,服务器会将JSP转换为Servlet(Java类),然后执行该Servlet生成响应内容。这些动态内容可以是根据用户请求而生成的,比如在这个项目中,可能就是AI生成...

    留备tomcat sourcecode

    通过深入学习和研究Tomcat源代码,开发者不仅可以提升对Java Web应用服务器内部工作原理的理解,还能为解决性能问题、定制功能或者开发自定义插件提供依据。保留源代码也意味着未来有可能参与到Tomcat的社区贡献中,...

    深入剖析Tomcat书本源码

    《深入剖析Tomcat》这本书是Java开发者们探索Web服务器内部工作原理的重要参考资料,它详细解析了Tomcat的源代码,帮助我们理解这个流行的开源Servlet容器的运作机制。Tomcat是Apache软件基金会的一个项目,它是Java...

    Jive源程序

    除了设计模式,Jive源代码还可能包含对Java核心库和框架的高级使用,如Spring框架的依赖注入,Hibernate的持久化操作,以及Servlet和JSP的Web开发技术。通过分析这些代码,你可以提升对Java Web开发的理解。 1. **...

    JAVA办公自动化系统(源代码+论文+外文翻译)

    2. **Java Web开发**:Servlet,JSP,JSTL,过滤器,监听器,MVC模式,Spring框架,MyBatis框架,Hibernate框架,Struts框架等。 3. **办公自动化系统架构**:通常包括用户管理,任务分配,文档管理,工作流引擎,...

    Java报表开发技术深入解析

    Java报表开发技术是Java...以上就是Java报表开发技术的深度解析,涵盖了从工具选择到实际应用的各个环节,希望对你的学习和工作有所帮助。在实践中,不断探索和优化,才能真正掌握这一技术,为业务提供有力的数据支持。

    How Tomcat Works

    Jasper将JSP转换为Servlet源代码,然后编译成.class文件,最后由Catalina调用执行。JSP生命周期包括编译、初始化、服务和销毁四个阶段。 4. **Coyote**:Coyote是Tomcat处理HTTP请求的组件。它接收来自网络的HTTP...

    JTest.rar_java txt_jsp_关键词

    JSP文件经过服务器编译后,会转换为JavaServlet,然后像普通Servlet一样处理HTTP请求。JSP的主要优势在于将静态内容(HTML)和动态逻辑(Java)分离,提高了开发效率和代码的可维护性。 关键词的使用可能涉及以下...

Global site tag (gtag.js) - Google Analytics