JSP从入门到精通
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从入门到精通的更多相关文章
- Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引
因为内容比较多,所以每篇讲解一些内容,最后会放出全部代码,可以参考.操作中总会遇到各式各样的问题,个人对部分问题的研究在最后一篇 问题研究 里.欢迎大家探讨学习. 代码都经过个人测试,但仍可能有各种未 ...
- 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...
- Java入门-浅析Java学习从入门到精通【转】
一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...
- 【PHP】PHP从入门到精通(一)——想学习PHP的小伙伴的福利来了!
PHP从精通到入门 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸 ...
- 【PHP】最详细PHP从入门到精通(一)——想学习PHP的朋友们福利来了!
PHP从入门到精通 (一)PHP简介和基本知识 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java ...
- 真正的Java学习从入门到精通
http://www.it.com.cn/f/edu/059/6/169189.htm 一. 工具篇JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行 ...
- bayaim_java_入门到精通_听课笔记bayaim_20181120
------------------java_入门到精通_听课笔记bayaim_20181120--------------------------------- Java的三种技术架构: JAVAE ...
- 快速开发架构Spring Boot 从入门到精通 附源码
导读 篇幅较长,干货十足,阅读需花费点时间.珍惜原创,转载请注明出处,谢谢! Spring Boot基础 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计 ...
- MyBatis从入门到精通(第9章):Spring集成MyBatis(下)
MyBatis从入门到精通(第9章):Spring集成MyBatis(下) springmvc执行流程原理 mybatis-spring 可以帮助我们将MyBatis代码无缝整合到Spring中.使 ...
随机推荐
- Python-wxpy继承关系
聊天对象 通过机器人对象 Bot 的 chats(), friends(),groups(), mps() 方法, 可分别获取到当前机器人的 所有聊天对象.好友.群聊,以及公众号列表. 而获得到的聊天 ...
- WiFi-ESP8266入门http(3-1)网页认证上网-post请求(原教程)
教程:http://geek-workshop.com/thread-37484-1-1.html 源码:链接:https://pan.baidu.com/s/1yuYYqsM-WSOb0AbyAT0 ...
- Netty入门(二)之PC聊天室
参看Netty入门(一):Netty入门(一)之webSocket聊天室 Netty4.X下载地址:http://netty.io/downloads.html 一:服务端 1.SimpleChatS ...
- 吉特日化MES-日化生产称料基本步骤
在日化行业称料是一个非常重要的环节,整个生产过程中称料所占据的时间也比较长,特别是遇到对料体精度高,量大的情况下称料都比较困难,汇总一下人工称料的基本过程: (1) 称量任务准备:根据生产工单或者生产 ...
- .NET Core Community 第四个千星项目诞生:微服务框架 Surging
本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC.捐赠情况将由倾竹大人在此处公示. 提及 .NET 微服务,我们脑海中浮现的一系列印象中,总有 Sur ...
- WCF系列教程之WCF服务配置工具
本文参考自http://www.cnblogs.com/wangweimutou/p/4367905.html Visual studio 针对服务配置提供了一个可视化的配置界面(Microsoft ...
- 用友云开放平台之API网关
本文介绍选择API网关应考虑的几方面内容,API网关在微服务框架中的作用,API网关如何选型,用友云开放平台的API网关可以做什么. 随着互联网的快速发展,当前已步入移动互联.物联网时代.企业内部系统 ...
- 用WSDL4J解析types标签中的内容
WSDL4J是一种用来解析WSDL文本的常用工具. 但网络上用WSDL4J来解析wsdl文档complexType标签中内容的问题一大堆也没有有效的解决方法.今天在我“遍历”wsdl4j的api文档和 ...
- 自己实现数据结构系列四---Queue
一.代码部分 1.定义接口: public interface Queue<E> { void enqueue(E e); E dequeue(); E getFront(); int g ...
- Golang开发工具LiteIDE使用方法整理
安装 参考github的说明 添加GOPATH 创建workspace 创建新文件 运行程序 Liteide中运行程序有两种方式: FR(FileRun)是编译并运行单个文件,可以使用Shift + ...