您的位置:首页 > Web前端 > JavaScript

JSP/Servlet Web 学习笔记 DayOne

2017-06-03 18:09 459 查看
JSP概述
  1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面。

  2)JSP容器是一个支持JSP的Web服务器。目前Apache的Jakarta Tomcat服务器就是运行JSP/Servlet的Web服务器,它作为JSP Web应用的最佳选择之一。

 

JSP的工作原理

  

  当一个JSP页面第一次被访问时的初始化过程:

  a)首先会被JSP容器翻译为一个Java源文件,其实就是一个Servlet

  b)并进行编译生成相应的字节码.class

  c)然后像其他Servlet一样,由JSP/Servlet容器来处理

  e)JSP/Servlet容器装载着这些类、接收来自客户端请求,并将处理结果返回客户端

  注意:

  a)如果以后再访问这个页面,只要页面没有发什么改变,JSP容器可以直接调用已经装载好的Servlet;

  b)JSP页面有与之一一对应的Servlet。一般情况下,JSP注重页面表现,而Servlet注重业务逻辑。

 

JSP基本语法

  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>Insert title here</title>
</head>
<body>
<% out.println("hello world"); %>
</body>
</html>


 a)注释

  1)HTML/XML注释    在源码中显示

  

<!-- 网页注释内容 -->


  2)隐藏注释            源码中不显示

<%-- 网页注释内容 --%>


  b)表达式 用来把Java数据直接插入到浏览器页面输出 <%= Java Expression %>

<%= "Hello World" %>


  编译成Servlet后,就变成:

out.write(String.valueOf("Hello Word"));


  相当于JSP页面:

out.printlin("Hello World");


c) Scriptlet 允许把任意的Java代码插入到其中 (<% Java Code %>)

<%      int i;
String color1="99ccff";
String color2="88cc33";
for(i=1;i<=count;i++){
String color="";
if(i%2==0)color=color1;
else color=color2;
out.println("<tr bgcolor="+color+"><td>---</td></tr>");
}%>


Scriptlet 与 普通静态网页融合

<%
String usrname=request.getParameter("usr");
String passwrod=request.getParameter("pasw");
String type=request.getParameter("type");
String cout=request.getParameter("count");
int count=Integer.parseInt(cout);

if(usrname.equals("adim")&&passwrod.equals("12345"))
{%>
<h2>欢迎您!</h2><%=usrname%>
<%if(type.equals("1")) out.print("管理员");
else out.print("普通用户");
count+=1;%>

<%}else{%>

<% count+=1; %>
<jsp:forward page="Login.jsp"></jsp:forward>
<%}%>


上述例子则可以说明:Scriptlet中的代码将被用到Servlet内,而Scriptlet前面和后面的静态HTML将被转化成println语句输出。

          这就意味着,Scriptlet内的Java语句并非一定是要完整的。

d)声明 定义插入SErvlet类的方法和成员变量 (<%! Java Code%>)

<%! private int accessCount=0; %>


 

 

 

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: