JSP的基本概念及语法

jsp的访问过程:
客户--jsp--应用服务器编译--[数据库 -- 应用服务器 ]--客户

jsp的编译过程
jsp-- java -- class再返回给客户端,如果jsp文件没有改变,则不再编译,编译好的class及java文件放在tomcat目录的work目录下

jsp指令
格式:<%@  这里存放一个指令  %>
例: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

各语句说明:
language:为当前使用的语言,一般为JAVA
import:为当前页面引包,可以引入多个包,如
<%@ page language="java" import="java.util.*,java.text.*" pageEncoding="UTF-8"%>
pageEncoding:为传入到前端的编码格式
用contentType=”text/html;charset=UTF-8”这个也可以
可以通过设置来改变默认编码格式如图:
include静态包含某一个网页
taglib引入标签库

设置默认编码格式:


JSP中JAVA语句嵌入

jsp声明全局变量及方法(只有重新编译的时候会执行一次)

<%!
    //判断是否是润年
    public boolean isRun(int year){
    	return (year%4 == 0 && year%100 != 0) || (year % 400 == 0);
    }
 %>

java普通代码存放 每次请求都会执行一次
<%
    //输出润年
    out.println("<p>输出1980-2015间的润年</p>");
    for(int i = 1980;i < 2015; i++){
    	if(isRun(i))
    	out.println(i);
    }
    //输出乘法表
    out.println("<p>输出乘法表</p><br>");
    for(int i  = 1; i <= 9; i++){
    	for(int j = 1; j <= i; j++)
    		out.println(j + "*" + i + "=" + i * j );
    	out.println("<br>");
    }
%>

jsp声明局部变量( 每次请求都会执行一次,局部里面不能定义方法,因为局部的代码都是统一编译到一个方法里面的
<%
    int num = 0;
    out.println(++num);
%>

jsp使用表达式:
<%=表达式%>每次都会执行
<%="i为全局变量,初始为0,只要没有重新编译或服务器重新启动服务,i的值 都不会初始化,现在显示i++的值:" + i++ %>



jsp的注释

<%
/* 多行注释 */ 
//单行注释
%>
这个注释在jsp编译成java文件的时候可以在java中看到,但客户端html中是看不到的。

<%-- 这是jsp注释,在编译的java文件中看不到,客户端也是看不到的。 --%>
<%-- 这是JSP注释 --%>

<!-- html注释,客户端的源码中是可以看得到的 -->

jsp的调试
在<%%>中设置断点

然后 启动服务的时候选DEBUG运行

以调试模式启动服务器后就可以 在访问jsp时进行调试了,后面和myeclipse是一样的。

访问服务器的小细节:
在访问时候WebRoot可以忽略,直接项目名和下面网页就可以了,如: http://localhost:8080/First/访问主页,如果还有下一级文件夹则要写上目录名如: http://localhost:8080/First/Test/MyJsp.jsp

WEB项目常见问题
404错误:找不到网页
500错误:服务器代码错误(异常、语法错误)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值