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编写第一 ...
随机推荐
- 03_HibernateSessionFactory源码分析
文章导读: 讲解了一个线程为什么要使用同一个connection, 我们分析了HiberatenSessionFactory的实现机制, 然后根据Hibernate的写法重构了我们的代码. 最后测试可 ...
- 基于UDP的交互的实例
1.实现简单的客户端.服务端聊天交互 问题是:客户端不能单独一直发消息回复.. 服务端: import socket server=socket.socket(socket.AF_INET,socke ...
- onclick跳转到其他页面的几种方式
如果是本页显示可以直接用location,方法如下: ①onclick="javascript:window.location.href='URL'" ②onclick=" ...
- Dancing Links 模板
struct dl{ // x: line, y: column struct node{ int c, left, right, up, down; }; vector<node> a; ...
- NOJ——1508火烧赤壁2(并查集+启发式合并+逆序加边)
[1508] 火烧赤壁2 时间限制: 1000 ms 内存限制: 65535 K 问题描述 上次出了一道火烧赤壁的题目给当时的新生,也就是你们的上一届学长们做,那么这次,我又想到了另一个想法. 上次的 ...
- 刷题总结——拆网线(noip模拟 贪心)
题目: 给定一颗树··在保证有k个点与其它点连接的情况下问最少保留多少条边···· 树的节点树n和k均小于100000: 题解: 很容易看出来我们要尽量保留那种一条边连两个节点的情况···· 然后考试 ...
- Github管理 第二步:Eclipse+Github,管理Java Project版本(First Commit)
1.提醒 如果你的Eclipse和本文一样操作,却出现了不同的结果和莫名其妙的错误,换个Eclipse也许更快. 我用了2个Eclipse,第一个一步一个坑,第2个非常顺利…… 所以,继Windows ...
- Echarts学习总结(一)-----柱状图
简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,基于[HTML5]Canvas (ZRender),纯Javascript图表库,是百度的一个开源的数据可视化工具,业 ...
- 代码动态改变 NGUI UILabel 的字体
有一次因为 ttf 分成简体和繁体两个..所以就需要动态改变NGUI 中 UILabel 的字体,但是不知道 UILabel 保存字体的字段是哪个 网上搜到..在这里记录一下 using UnityE ...
- ubuntu登入死循环问题 解决!!
把/etc/environment文件中的 PATH="/usr/local//sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games" ...