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. 【转】CocoaPods的使用教程

    转载自:https://www.jianshu.com/p/dfe970588f95 前言 前几天发布我的开源库<最简单方便的iOS轮播开源库:JYCarousel>到CocoaPods的 ...

  2. spring mybatis整合

    mybatis和spring整合的配置方法有很多,核心都是一个矛盾:如何让spring管理mybatis为mapper生成的代理对象. 1.配置数据源 单独使用mybatis的时候数据源是在mybat ...

  3. Linux:Day4(上) 文件管理、管道

    文件管理:cp.mv.rm 复制命令:cp cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION] ...

  4. 启动mysql服务,报错1067,进程意外终止

    之前一直使用的是oracle,这次换成mysql,在配置my.ini的时候,添加default-character-set=utf8,来修改字符集. 修改完成之后,启动mysql的服务,但是报错,10 ...

  5. CF1103D Professional layer 状压DP

    传送门 首先对于所有数求gcd并求出这个gcd含有的质因子,那么在所有数中,只有这一些质因子会对答案产生影响,而且对于所有的数,每一个质因子只会在一个数中被删去. 质因子数量不会超过\(11\),所以 ...

  6. 【C#复习总结】细说泛型委托

    1 前言 本系列会将[委托] [匿名方法][Lambda表达式] [泛型委托] [表达式树] [事件]等基础知识总结一下.(本人小白一枚,有错误的地方希望大佬指正) 系类1:细说委托 系类2:细说匿名 ...

  7. javascript状态机及在工作流中的应用

    #javascript状态机及在工作流中的应用 ##状态机 什么叫状态机(Finite State Machine),书面上的解释可以自己借助搜索引擎寻找到.通俗地来讲是一个状态定义.查找.切换和事件 ...

  8. C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 严格的用户账户审核功能

    整个集团有几万个用户,一个个用户添加是不现实的,只有每个公司的系统管理员添加.或者用户申请帐户,然后有相应的管理员审核,才会更准确一些. 每个公司.分公司.部门的账户情况只有所在公司的管理员是最清楚的 ...

  9. Django 的路由层 视图层 模板层

    --------------------------------------------------------------通过苦难,走向欢乐.——贝多芬 Django-2的路由层(URLconf) ...

  10. oracle表空间不足,ORA-00604的解决方法

    参考文章: http://blog.chinaunix.net/uid-26446098-id-3344813.html 错误信息如下: 从错误的角度可以推出:应该是表空间不足 根据查看表空间的使用情 ...