jsp学习笔记1
- 格式:doc
- 大小:82.00 KB
- 文档页数:5
%@page import="java.util.*"%>
Jsp与javabeaneBean标记的格式如下:<jsp:useBean id=”给bean起的名字”class=”创建bean的类”scope=”bean的有效范围”></jsp:useBean>或<jsp:useBean id=”给bean起的名字”class=”创建bean的类”scope=”bean的有效范围”/>2.表单提交乱码处理:<%request.setCharacterEncoding(“utf-8”);%>Servlet:1.如果有HTTP请求信息的话,获取该信息。
可通过调用HttpServletRequest类对象的以下方法获取:getParameterNames() //获取请求中所有参数的名字getParameter() //获取请求中指定参数的值getParameterValues() //获取请求中所有参数的值2.Servlet中的service()方法可以针对get和post两种请求类型,而doPost()和doGet()方法分别只能对应客户端的Post和get方式的请求。
3.Servlet可以配置一些初始化参数如:<Servlet><init-param><param-name>number</parame-name><param-value>100</param-value></init-param></Servlet>这段代码指定参数number 的值为100,在servlet中可以再init()方法体中通过getInitParameter()方法访问这些初始化参数。
4.启动转入优先权:<servlet><servlet-name>servlet</servlet-name><servlet-class>com.dfd</servlet-class><load-on-startup>5</load-on-startup></servlet>5.public interface Servlet;这个借口是所有Servlet必须直接或间接实现的接口,它定义了以下方法:init()方法,6.表单提交给servlet时,如果用get方法时,中文出现乱码,改用post方法时,就显示正常。
JSP(Java Server Page)JSP是服务器端运行的页面,JSP本就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。
Jsp文件只需放在应用文件下就可以了。
JSP例子:<html><head><title>time</title></head><body><h1><%=new java.util.Date()%></h1></body></html>JSP运行过程1,JSP文件先要翻译成Java文件(Servlet),在tomcat中翻译后的java文件在tomcat下的work\Catalina\localhost中相应名字的应用目录里。
2,编译Java文件3,运行.class文件Tomcat的全局配置文件在Tomcat下的conf目录中的web.xml是服务器全局的配置文件,其中要想关闭列表显示叫要把<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>Tomcat的管理员设置在tomcat下的conf目录中的tomcat-use.xml文件中可以配置tomcat的用户角色<tomcat-users><role rolename="manager" description=""/><role rolename="admin"/><!--设定角色的名字,admin是管理员,manager是项目管理--><user username="manager" password="123" roles="manager"/><!--设定用户名密码,和角色--> <user username="admin" password="123" roles="admin"/></tomcat-users>JSP的特点1,JSP不需要编译2,JSP不需要进行配置3,JSP本质上就是一个Servlet4,JSP是以静态页面为主的。
Servlet与JSP学习总结(⼀)--概述Java Servlet技术简称Servlet技术,是Java开发Web应⽤的底层技术。
由Sun公司于1996年发布,⽤来代替CGI(当时⽣成Web动态内容的主流技术)。
CGI技术的主要问题是每个Web请求都需要新启动⼀个进程来处理。
创建进程会消耗不少CPU周期,导致难以编写可扩展的CGI程序。
⽽Servlet有着⽐CGI程序更好的性能,因为Servlet在创建后(处理第⼀个请求时)就⼀直保持在内存中。
此后,SUN公司发布了JavaServer Pages(JSP)技术,以进⼀步简化Servlet 程序开发。
Servlet/JSP应⽤架构狭义的Servlet指javax.servlet包中的⼀个接⼝,⽽⼴义的Servlet则是指实现了这个接⼝的类。
⼀个Servlet应⽤有⼀个或多个Servlet程序。
JSP从根本上说是⼀个简化的Servlet设计,它是在传统的HTML代码中插⼊Java程序段(Scriptlet)和JSP标记(tag),从⽽形成JSP⽂件。
JSP ⽂件会被转换和编译成Servlet程序。
Servlet应⽤⽆法独⽴运⾏,必须运⾏在Servlet容器中。
Servlet容器将⽤户的请求传递给Servlet应⽤,并将结果返回给⽤户。
由于⼤部分Servlet应⽤都包含多个JSP页⾯,因此更准确地说是“Servlet/JSP应⽤”。
Web⽤户通过IE、Firefox或⾕歌等浏览器来访问Servlet应⽤。
通常,浏览器⼜叫Web客户端。
Web服务器和Web客户端间通过HTTP协议通信,因此Web服务器也叫HTTP服务器。
下图展⽰了Servlet/JSP应⽤的架构Servlet/JSP容器是⼀个可以同时处理Servlet和静态内容的Web容器。
过去,由于通常认为HTTP服务器⽐Servlet/JSP容器更加可靠,因此⼈们习惯将Servlet/JSP容器作为HTTP服务器的⼀个模块。
JSP部分串讲第一部分:JSP简介一:JSP简介1:JSP的特点:(1)JSP里面可以嵌入JA V A代码(2)在运行的时候,JSP被容器翻译成为一个servlet,对于tomcat 服务器会放在apache-tomcat-5.5.20—>work—>catalina—>localhost目录下面(3)不需要再在配置文件里面配置(4)文件被修改之后,自动被重新编译2:跟Servlet的比较:(1)Servlet生成静态页面比较麻烦,适合于做control层,JSP生成页面比较容易,适合做view层,JSP本质上就是servlet.(2)目录结构与servlet相同。
3:JSP的运行过程:(1)翻译(转换)阶段:*.jsp—>*.java(2)编译阶段:*.java—>*.class(3)运行阶段:运行编译后生成的*.class文件。
以上三个阶段均由JSP引擎来执行;JSP引擎由Web服务器所提供,它实际上也是一个Servlet(该Servlet在conf/web.xml中配置)二:JSP的脚本元素1:声明:<%!int counter=0%>注意:声明的可以是成员变量,方法或内部类。
不要用成员变量去做统计,因为如果Servlet实例是否被销毁是由服务器控制的,如果需要统计,则应该把统计的信息存储到数据库或是文件当中。
2:表达式:<%=Expression%>(1)该表达式将被添加到_jspService()方法体内,并被转换为:out.print(Expression);(2)“<%=”后边也可以是一个函数调用,但是要求这个函数必须有返回值。
3:代码块:<%if(isLogin){…}%>(1)本质上是一个java代码块,里面的注释方式跟java代码一样(2)该代码块会原封不动的放在servlet的_jspService()方法中,放置的位置会影响结果,必须保证变量先声明后使用。
1.JSP的由来在前面的学习过程中,页面相关的内容主要是通过html文件完成,而Servlet技术主要是在获取浏览器(客户端)提交的请求数据,或者是给浏览器(客户端)响应数据。
在实际企业开发中,前端的页面(html文件)相关设计和美化工作都是前端工程师(美工)负责,后台的Java程序是由Java开发人员完成,前端给出的页面,不能满足后台开发人员的需求,这时就需要后台开发人员在Servlet中使用response获取输出流,拼接前端页面需要的html片段,这样会导致Servlet中的Java代码十分的臃肿,而且不利于前端人员维护页面。
导致前后人员之间合作出现问题。
针对这些问题,sun公司设计出JSP技术来解决。
JSP技术:Java Server Page。
它的主要功能:可以直接在JSP文件中书写html代码,但是JSP文件最后会被翻译成对应的Java代码。
这个翻译工作不需要开发人员做任何的事情,而直接由Java对应的机制完成。
这样就可以保证前端工程师可以直接针对JSP文件进行页面设计和修改,后台人员可以在JSP页面中添加对应的业务程序。
后台人员不用再在Servlet 中通过response输出大量的html片段。
2.JSP快速入门可以直接使用Myeclipse的模版创建JSP文件:eclipse修改JSP的默认编码表:新建jsp文件:JSP页面代码:发布项目到tomcat服务器上,打开浏览器访问:看到如下效果,恭喜第一个JSP文件搞定。
3.JSP三种脚本元素既然在jsp中可以嵌入java代码,必然要解决几个问题:如何在jsp中定义一个变量,定义一个内部类?如何在jsp中使用定义好的变量?如何在jsp中使用循环?如何在循环中嵌入html代码?jsp为什么?原理是什么?在JSP中,可以书写html、css、js、dom、java代码。
注意:一般在公司开发不要在JSP文件嵌入大量的JAVA代码,后期JSP仅仅是用来显示Servlet 处理完的数据的。
Day01一.web项目的演变1.发展规律-由单机向网络发展-由CS向BS发展2.CS和BS的区别1)CS-Client Server-客户端服务器程序-客户端指需要独立开发,独立安装的程序(如qq),用户需要单独下载并安装。
2)BS-Browser Server-浏览器服务器程序-客户端不用单独开发,用户不用单独安装。
二.Servlet介绍什么是servlet?-Sun(Oracle)公司制定的一种用来扩展Web服务器功能的组件规范。
1.服务器如何保存并返回一个网页?1)静态网页-无论谁看,其内容都一样-例如百度百科、新闻、-服务器直接存HTML,直接返回HTML即可。
2)动态网页-不同的人看,有着不同的结果-淘宝、微博-服务器保存一个组件,动态给每个用户拼一个个性网页-在java语言中这个组件就是Servlet-组件:满足规范的对象2.Servlet的特点-是服务器端的组件-可以动态拼资源(HTML/IMG等)-满足sun的规范>术语:处理HTTP协议3.什么是Servlet?-是sun公司推出的用于在服务器端处理HTTP协议的组件。
三.服务器1.名称-Java服务器-WEB服务器-Java WEB服务器-Servlet容器2.本质-是一个软件-它和浏览器是平级的关系3.举例-Tomcat(Apache开源免费的服务器)-JBoss-WebLogic-WebSphere四.Tomcat的使用方式1.单独使用(项目上线时)1)配置好JAVA_HOME2)下载及安装>去Apache官网下载安装3)启动tomcat-Linux:打开/tomcat/bin,在终端输入chmod +x *sh -Linux:打开/tomcat/bin,在终端输入./startup.sh-windows:打开/tomcat/bin,双击startup.bat4)访问tomcat-在浏览器地址栏上输入http://localhost:8080/,回车后看到tomcat界面就OK了5)关闭tomcat-Linux:打开/tomcat/bin,在终端输入./shutdown.sh-windows:打开/tomcat/bin,双击shutdown.bat2.通过eclipse调用(开发时)-参考文档《》-若配置失败,需要重来- window→preferences→server→runtime-在右侧选择tomcat,然后点击remove案例-在Eclipse中将自动生成的Servers项目删除-重新按照步骤进行配置即可。
第一章认识JSP第二章JSP基础语法1.page指令介绍Language:用来定义要使用的脚本语言contentType:定义jsp字符的编码和页面响应的MIME类型pageEncoding:jsp页面字符编码include:用于指定包含另一个页面taglib:用于定义和访问自定义标签2.Scriptlet标签通过Scriptlet标签,我们可以在jsp里嵌入java代码;1)<%!%> 定义全局变量,方法,类2)<%%> 定义局部变量,编写语句3)<%=%> 输出一个变量,或一个具体的值3.Jsp注、注释<!-- -->html注释,客户端可见<%-- --> jsp注释,客户端不可见//java单行注释/* */java多行注释4.Jsp包含指令<%@ include file=”要包含的文件” %> 静态包含:先包含,后编译处理<jsp:include page=”要包含的文件” %> 动态包含:先编译处理,后包含5.Jsp7个动作指令jsp:forward:执行页面跳转,将请求的处理转发到下一个页面jsp:param:用于传递参数jsp:include:用于手动引入一个JSP页面jsp:pluign:用于下载javaBean或applet到客户端执行jsp:useBean:创建一个javaBean实例jsp:setPorperty:设置javaBean实例的属性值jsp:getPorperty:输出javaBean实例的属性值6.Jsp跳转指令<jsp:forward><jsp:forward value=”” name=””></jsp:forward>服务器内跳转,可带参数第三章jsp九大内置对象及四个作用域1.jsp九大内置对象及四大作用域概述在jsp开发中,jsp提供了9个内置对象,这些内置对象将由容器为用户进行实例化,用户直接使用即可,这9个内置对象分别是:pageContext,request,response,session,config,out,oage,exception,application,常用的是前5个。
jsp学习总结JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,店铺为大家整理了一些jsp学习总结,希望对你有用!jsp学习总结篇1一、JSP工作原理在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。
而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。
JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP 引擎用javac把该Java源文件编译成相应的class文件。
然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。
然后jspService()方法被调用来处理客户端的请求。
对每一个请求,JSP引擎创建一个新的线程来处理该请求。
如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。
每个客户端请求对应一个线程。
以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。
如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。
虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。
此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。
当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入"垃圾收集"处理。
jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。
1.知识点1.1. 上一个章节回顾1.2. 本章重点1.2.1.过滤器1.2.2.监听器2.具体内容2.1.过滤器2.1.1.什么是过滤器2.1.1.1.对某些操作进行筛选和过滤2.1.1.2.可以对web应用程序设置多个过滤器,这些过滤器就组成了一个过滤器链,对某些操作践行检查2.1.1.3.过滤器是可以模块化的2.2.过滤器的创建2.2.1.在创建过滤器的时候必须直接或者间接的实现Filter接口2.2.1.1.2.2.2.配置Filter2.2.2.1.2.3.过滤器可以干什么2.3.1.过滤非法登陆2.3.1.1.不通过登陆界面直接访问内部的一下模块的时候就是非法登陆2.3.1.2.我们发现在过滤的过程中我们把所有的路径都过滤的时候就会出现重定向死循环的情况2.3.1.2.1.2.3.1.3.我们该如何解决2.3.1.3.1.通过设置过滤路径来解决2.3.1.3.2.2.3.1.3.3.2.3.1.4.但是我们又出现了问题,当我们使用ajax 在请求的时候页面并不会进行跳转,那我们如何解决呢?2.3.1.4.1.判断是否是ajax的请求,如果是ajax的请求我们另做处理2.3.1.4.2.2.3.1.4.3.2.3.1.4.4.2.4.监听器2.4.1.监听一些事件用来打到一下功能2.4.2.适用场景2.4.2.1.统计在线人数2.4.2.2.自动加载初始化信息2.4.2.3.统计网站访问量2.4.3.根据监听的对象的分类2.4.3.1.servletContext2.4.3.2.HttpSession2.4.3.3.ServletRequest2.4.4.统计在线人数2.4.4.1.3.本章总结3.1. 面试题答案3.2. 预习下一章内容4.练习题4.1. 作业。
Jsp学习笔记:
1
FirstJsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@page import="java.util.*"%>
<% // 获取当前的时间 Date today=new Date(); out.println("当前时间"+today); %> | <%="当前时间"+today %> |
<% //获得当前时间的小时 int hour=today.getHours(); if(0 <%="现在是北京时间凌晨:"+hour+"点" %> <%} if(5 <%="现在是北京时间上午:"+hour+"点" %> <%} if(12 <%="现在是北京时间下午:"+hour+"点" %> <%} if(hour>18&&hour<=24){ %> <%= "现在是北京时间夜晚:"+hour+"点"%> <%} %> |
三种指令:Page include 和taglib
Jsp的动作元素:
1 useBean的属性
1.1useBean
现在src下建一个class
package com.cn.useBean;
import java.text.SimpleDateFormat;
import java.util.Date;
public class UseBean {
Date date=new Date();
public String today(String str){
SimpleDateFormat formatter=new SimpleDateFormat(str);
return formatter.format(date);
}
// public static void main(String[] args) {
// String str = "yyyy:MM:dd HH:mm:ss",str2;
//
// str2=new UseBean().today(str);
// System.out.println(str2);
// }}
在index.jsp添加:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%=firstUseBean.today("yyyy-MM-dd HH:mm:ss") %>
2——2
1.2 setProperty和getProperty
常见的方法的属性:
Value
Param
/>
而getProperty只有两个属性即name和property 并在页面上输出
实例:
Java的class
package com.cn.setProperty;
public class SetProperty {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2 Include的动作元素