servlet基础梳理(一)
将近一个月没看servlet了,再加上第一次学习也没有深入。仅仅是笼统的看了一遍,编了一点基础案例就过去了,如今再去看感觉跟没学过一样。这里再用一点时间把这些基础都梳理一下,加深印象并为以后高速复习做准备,毕竟这是个快节奏的社会,一切都以高速做铺垫。
首先明白一点,基础的servlet编程在企业应用中承担的作用。假设不考虑使用其它框架开发的话,我觉得实现MVC架构的分工应该是M:javaBean ,V:jsp, C:servlet。
作为一种特殊的servlet。
jsp因为自身的特点。充当表现成负责收集用户请求。呈现数据给用户,中间数据处理的环节则交给servlet处理。
本篇就是整理一些零散的知识点。
好了,进入特别特别基础的部分:JSP基础入门:
凝视和声明:
<!-- HTML凝视 -->//在页面查看源代码显示
<%-- Jsp凝视 --%>//<span style="font-family: Arial, Helvetica, sans-serif;">在页面查看源代码不显示</span> <%! //jsp声明
int i; %>
<% out.println(i++); %>
<table bgcolor="#9999dd" border="1" width="300px">
<%
for (int i=0;i<5;i++)
{%>
<tr><td>第<%=i%>行</td>
<td>hello</td></tr>
<%
}
%>
jsp的三个编译指令:
- page:
定义本页面的一些属性问题。比如:<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>这里说一下。倘若有错误页面,须要设置错误页面erorPage="error.jsp"在 error.jsp中isErrorPage="true"。
- include:动态包括其它页面
<jsp:include page="/index.jsp">
<jsp:param value="123" name="key"/>
</jsp:include> - taglib:标签
定义页面中使用的标签:比如<%@ taglib prefix="s" uri="/struts-tags" %>
jsp九个内置对象:
这里主要是谈论application+session+request+response。
当中application是在整个项目范围内,session范围是一次用户会话,request是一次用户请求。
这里演示样例设置三个范围的属性:
<% application.setAttribute("key1", "hello");
session.setAttribute("key2", "hello");
request.setAttribute("key3", "hello");
%>
这里既然扯到response,就说一下转发和重定向。转发是同一次的请求。request内的属性还能够有效,页面网址也不会改变。而重定向则是一次新的用户请求,网址改变。基本实现代码:
request.getRequestDispatcher("login.jsp").forward(request, response);
response.sendRedirect("login.jsp");
OK,这算是一个开篇,简介jsp的几个知识点,以下写servlet部分。
servlet基础梳理(一)的更多相关文章
- Servlet基础梳理(四)
本篇说一下session和路径的问题. session: 是一种在server端保存http状态信息的方案.眼下有两种实现方式:基于Cookie或者URL重写. 基于cookie:第一次訪问serve ...
- JSP/Servlet基础语法
相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...
- JSP数据交互(二)和Servlet基础
01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...
- Servlet基础(三) Servlet的多线程同步问题
Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...
- Servlet基础(二) Servlet的生命周期
Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- Servlet基础简单总结(上)
Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...
- java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理
本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...
- servlet总结:Servlet基础
Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...
随机推荐
- 大数据学习——akka自定义RPC
实现 package cn.itcast.akka import akka.actor.{Actor, ActorSystem, Props} import akka.actor.Actor.Rece ...
- python week08 并发编程之多进程--理论部分
一 什么是进程 进程:正在进行的一个过程或者说一个任务. 而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): Jame在一个时间段内有很多任务要做:python学习任 ...
- wordpress 获取站点的所有链接
<?php include "wp-load.php"; $posts = new WP_Query('post_type=any&posts_per_page=-1 ...
- Welcome-to-Swift-24高级运算符(Advanced Operators)
除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和Objective-C中的位运算符和移位运算. 不同于C语言中的数值计算,Swift的数值计算默认是不可溢出的.溢出行为会 ...
- 【Luogu】P3159交换棋子(超出我能力范围的费用流)
题目链接 明显超出我能力范围. 只放题解. 再放代码. #include<cstring> #include<algorithm> #include<cstdio> ...
- 备忘 CSS字体中英文名称对照表
转载自:http://www.jb51.net/css/67658.html 在CSS文件中,我们常看到有些字体名称变成了乱码,这是由于编写者将中文字体的名字直接写成了中文,并且再上传或者拷贝复制的时 ...
- [CODEVS1915] 分配问题(最小费用最大流)
传送门 脑残题 建图都懒得说了 ——代码 #include <queue> #include <cstdio> #include <cstring> #includ ...
- .sh 和 .ksh —— 三种主要的 Shell简介(Korn shell)
和现在的开发语言一样,语法上有些差异! 三种主要的 Shell 与其分身 在大部份的UNIX系统,三种著名且广被支持的shell 是Bourne shell(AT&T shell,在 Linu ...
- docker 查询或获取私有仓库(registry)中的镜像
docker 查询或获取私有仓库(registry)中的镜像,使用 docker search 192.168.1.8:5000 命令经测试不好使. 解决: 1.获取仓库类的镜像: [root@sha ...
- Java面试进阶部分集合
框架基础 反射:反射是Java开发的一类动态相关机制.因为本身Java语言并不是一款动态语言,如果我们想要得到程序动态的效果,因此便引入了反射机制这一概念. 怎么表达反射? 能用反射做什么? PS:某 ...