1. jsp开发环境配置

在windows下配置jsp的开发环境:

假设已经安装好了jdk,下面来配置tomcat

去http://tomcat.apache.org 下载tomcat windows64位的免安装版本

下载完成后解压并重命名为tomcat8

如图:

在环境变量中配置catalina

如下:

CATALINA_HOME=D:\tomcat8

CLASSPATH=%CATALINA_HOME%\common\lib\jsp-api.jar;

使用startup.bat启动tomcat

发现cmd一闪而过,tomcat启动失败

是因为startup.bat调用了catalina.bat, catalina.bat调用了setclasspath.bat

根本原因在于setclasspath.bat没有定义JAVA_HOME和JRE_HOME

解决该问题的方法是在setclasspath.bat中定义JAVA_HOME和JRE_HOME

增加两行代码

如图所示:

再次启动startup.bat, 成功!

在浏览器中访问localhost:8080

127.0.0.1:8080默认访问的是tomcat根目录下的webapps/ROOT/index.jsp

2. 在eclipse上集成tomcat

首先下载eclipse for javaee ,解压后并重命名

如图所示:

启动eclipse

如图:

在Window->Preference->Server->Runtime Environments配置tomcat

如图:

使用eclipse创建一个动态web工程来测试eclipse是否集成tomcat成功

如图:

新创建的动态web工程的目录结构如下:

在WebContent下创建test.jsp

代码如下:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test</title>
</head>
<body>
Hello, Tomcat and JSP
</body>
</html>

在文件代码中右键Run AS->Run on Server

如图:

在console中发现tomcat成功启动!

并且自动打开了浏览器

注意:如果在Run on Server已经手动开启了tomcat则会报错,因为eclipse会自动开启tomcat

3. jsp的生命周期

原理:

编译阶段(被Servlet容器编译为Servlet源程序)

初始化阶段(加载被编译的Servlet源程序,调用构造方法和初始化方法)public void jspInit(){}

响应请求阶段(Servlet响应客户端的请求) void __jspService(HttpServletRequest request, HttpServletResponse response){}

销毁阶段(调用析构方法)public void jspDestroy(){}

测试案例:

<%@ 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/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp的生命周期</title>
</head>
<body>
<%!
private int initCount = 0;
private int serviceCount = 0;
private int destroyCount = 0;
%>

<%!
public void jspInit(){
	initCount ++;
}

void __jspService(HttpServletRequest request, HttpServletResponse response){
	serviceCount ++;
}

public void jspDestroy(){
	destroyCount ++;
}
%>

<h1>测试数据:</h1>
<p>共初始化<%= initCount %>次</p>
<p>共处理请求<%= serviceCount %>次</p>
<p>共销毁<%= destroyCount %>次</p>
</body>
</html>

  

4. jsp语法

jsp变量声明语法:

<%!   code    %>

<jsp:decl

JSP从入门到精通的更多相关文章

  1. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引

    因为内容比较多,所以每篇讲解一些内容,最后会放出全部代码,可以参考.操作中总会遇到各式各样的问题,个人对部分问题的研究在最后一篇 问题研究 里.欢迎大家探讨学习. 代码都经过个人测试,但仍可能有各种未 ...

  2. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

  3. Java入门-浅析Java学习从入门到精通【转】

    一. JDK (Java Development Kit)  JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...

  4. 【PHP】PHP从入门到精通(一)——想学习PHP的小伙伴的福利来了!

     PHP从精通到入门 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸 ...

  5. 【PHP】最详细PHP从入门到精通(一)——想学习PHP的朋友们福利来了!

     PHP从入门到精通 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java ...

  6. 真正的Java学习从入门到精通

    http://www.it.com.cn/f/edu/059/6/169189.htm 一. 工具篇JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行 ...

  7. bayaim_java_入门到精通_听课笔记bayaim_20181120

    ------------------java_入门到精通_听课笔记bayaim_20181120--------------------------------- Java的三种技术架构: JAVAE ...

  8. 快速开发架构Spring Boot 从入门到精通 附源码

    导读 篇幅较长,干货十足,阅读需花费点时间.珍惜原创,转载请注明出处,谢谢! Spring Boot基础 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计 ...

  9. MyBatis从入门到精通(第9章):Spring集成MyBatis(下)

    MyBatis从入门到精通(第9章):Spring集成MyBatis(下) springmvc执行流程原理 mybatis-spring  可以帮助我们将MyBatis代码无缝整合到Spring中.使 ...

随机推荐

  1. PHP HMAC_SHA1 算法 生成算法签名

    HMAC_SHA1(Hashed Message Authentication Code, Secure Hash Algorithm)是一种安全的基于加密hash函数和共享密钥的消息认证协议. 它可 ...

  2. Y7000 (1)安装ubuntu1604遇到的问题

    1安装系统 分区的时候 /boot  不再是引导分区 换成 “为系统bois保留的分区” 这个分区取代 /boot 2第一次进系统没有图形界面 在刚开机 ubuntu系统时 按e 在splash后面空 ...

  3. ogg-01027(长事务)

    OGG-01027(长事务) 示例9-25: WARNING OGG-01027  Long Running Transaction: XID 82.4.242063, Items 0,  Extra ...

  4. Spring Security(二十三):6.5 The Default AccessDecisionManager(默认接入策略管理)

    This section assumes you have some knowledge of the underlying architecture for access-control withi ...

  5. KindEditor 开源得富文本编辑器

    正常HTML情况写输入长文本需要textarea 标签 .但textarea 标签局限性很大,切只能输入单一的文本,我们大多情况下看到的新闻类文本信息大多是图文混排得,且有的配有视频和音乐. 我们可以 ...

  6. Volley使用

    Volley是常用的网络请求框架,主要的用法如下: 获取字符串: public static void volleyTest1(final Context context){ RequestQueue ...

  7. OM1、OM2、OM3和OM4光纤之间的区别

    “OM”stand for optical multi-mode,即光模式,是多模光纤表示光纤等级的标准.不同等级传输时的带宽和最大距离不同,从以下几个方面分析它们之间的区别.  一.OM1.OM2. ...

  8. Dockerfile centos7_tomcat7.0.64_jdk7u80

    FROM centos:7 MAINTAINER jiangzhehao WORKDIR /tmp RUN yum -y install net-tools ADD jdk-7u80-linux-x6 ...

  9. H5 34-背景图片

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Vue Router 路由实现原理

    一.概念 通过改变 URL,在不重新请求页面的情况下,更新页面视图. 二.实现方式 更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有2种方式: 1.Hash  ...