将近一个月没看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的三个编译指令:

  1. page:

    定义本页面的一些属性问题。比如:

    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

    这里说一下。倘若有错误页面,须要设置错误页面erorPage="error.jsp"在 error.jsp中isErrorPage="true"。

  2. include:动态包括其它页面
    <jsp:include page="/index.jsp">
    <jsp:param value="123" name="key"/>
    </jsp:include>
  3. 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基础梳理(一)的更多相关文章

  1. Servlet基础梳理(四)

    本篇说一下session和路径的问题. session: 是一种在server端保存http状态信息的方案.眼下有两种实现方式:基于Cookie或者URL重写. 基于cookie:第一次訪问serve ...

  2. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  3. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  4. Servlet基础(三) Servlet的多线程同步问题

    Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...

  5. Servlet基础(二) Servlet的生命周期

    Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...

  6. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

  7. Servlet基础简单总结(上)

    Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...

  8. java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理

    本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...

  9. servlet总结:Servlet基础

    Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...

随机推荐

  1. 03_HibernateSessionFactory源码分析

    文章导读: 讲解了一个线程为什么要使用同一个connection, 我们分析了HiberatenSessionFactory的实现机制, 然后根据Hibernate的写法重构了我们的代码. 最后测试可 ...

  2. 基于UDP的交互的实例

    1.实现简单的客户端.服务端聊天交互 问题是:客户端不能单独一直发消息回复.. 服务端: import socket server=socket.socket(socket.AF_INET,socke ...

  3. onclick跳转到其他页面的几种方式

    如果是本页显示可以直接用location,方法如下: ①onclick="javascript:window.location.href='URL'" ②onclick=" ...

  4. Dancing Links 模板

    struct dl{ // x: line, y: column struct node{ int c, left, right, up, down; }; vector<node> a; ...

  5. NOJ——1508火烧赤壁2(并查集+启发式合并+逆序加边)

    [1508] 火烧赤壁2 时间限制: 1000 ms 内存限制: 65535 K 问题描述 上次出了一道火烧赤壁的题目给当时的新生,也就是你们的上一届学长们做,那么这次,我又想到了另一个想法. 上次的 ...

  6. 刷题总结——拆网线(noip模拟 贪心)

    题目: 给定一颗树··在保证有k个点与其它点连接的情况下问最少保留多少条边···· 树的节点树n和k均小于100000: 题解: 很容易看出来我们要尽量保留那种一条边连两个节点的情况···· 然后考试 ...

  7. Github管理 第二步:Eclipse+Github,管理Java Project版本(First Commit)

    1.提醒 如果你的Eclipse和本文一样操作,却出现了不同的结果和莫名其妙的错误,换个Eclipse也许更快. 我用了2个Eclipse,第一个一步一个坑,第2个非常顺利…… 所以,继Windows ...

  8. Echarts学习总结(一)-----柱状图

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,基于[HTML5]Canvas (ZRender),纯Javascript图表库,是百度的一个开源的数据可视化工具,业 ...

  9. 代码动态改变 NGUI UILabel 的字体

    有一次因为 ttf 分成简体和繁体两个..所以就需要动态改变NGUI 中 UILabel 的字体,但是不知道 UILabel 保存字体的字段是哪个 网上搜到..在这里记录一下 using UnityE ...

  10. ubuntu登入死循环问题 解决!!

    把/etc/environment文件中的 PATH="/usr/local//sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games" ...