java中servlet知识_jsp_Servlet常用知识总结

Servlet三个要素

[java] view plain copy print?

1.必须继承自HttpServlet

2.必须实现doGet()或者doPost()

3.必须在web.xml中配置Servlet

HttpServeltRrequest:请求对象

getParameter():获得表单元素的值

getAttribute():获得request范围中的属性值

setAttribute():设置reqeust范围中的属性值

setCharacterEncoding():设置字符编码

HttpSerletResponse:相应对象

sendRedirect():外部跳转

getWriter():获得输出流对象

setContentType("text/html; charset=utf-8"):设置相应内容格式和编码

四种会话跟踪方式

[java] view plain copy print?

1.Session

HttpSession session = request.getSession();

session.setAttribute("name", "zhangsan");

session.setAttribute("pwd", "aaa");

String name = (String) session.getAttribute("name");

2.cookie:

//创建Cookie

Cookie cookie = new Cookie("name", "zhangsan");

//设置Cookie的超时时间

cookie.setMaxAge(24 60 60 *60);

//把Cookie发送到客户端

response.addCookie(cookie);

//得到客户端发送的Cookie

Cookie [] cookies = request.getCookies();

for(int i=0; i

Cookie temp = cookies[i];

String key = temp.getName();

String value = temp.getValue();

}

3.隐藏表单域

request.getParameter("name");

4.Url重写

问号传参

LoginServlet?username=zhangsan&pwd=123

String name = request.getParameter("username");

String pwd =request.getPareameter("pwd");

内部跳转和外部跳转

[java] view plain copy print?

内部跳转:

LoginServlet

request.getRequestDispatcher("index.jsp").forward(request, resposne);

外部跳转:

response.sendRedirect("index.jsp");

内部跳转是一次请求和一次响应

外部跳转是两次请求和两次响应

[java] view plain copy print?

ServletContext:Servlet上下文对象

它是一个公共区域,可以被所有的客户端共享

setAttribute():向公共区域里放入数据

getAttribute():从公共区域里取数据

三个标准范围:request, session, ServletContext

共同点:都有setAttribute(), getAttribute()

区别:范围不同,request < session < servletContext

服务器上的五大对象

request, response, servlet, session, servletContext

Jsp:Java Server Page

页面构成:7种元素

[java] view plain copy print?

1.静态内容:html

2.指令:page, include, taglib:

3.表达式:

4.Scriptlet

5.声明::变量和方法

6.动作:

7.注释:

客户端看不到的:

客户端可以看到的:

Jsp的执行过程

[java] view plain copy print?

1.转译:Jsp--->Servlet

2.编译:Servlet---->.class

3.执行:.class

第一次访问jsp的时候响应速度较慢,后面请求时响应速度快

脚本

[java] view plain copy print?

表达式:

Scriptlet:

声明:

指令

[java] view plain copy print?

page:language, import, errorPage, isErrorpage

include:file

taglib:uri:指定标签库描述符的路径 prefix:指定标签的前缀

隐式对象

[java] view plain copy print?

分类:

1.输入和输出对象:request(HttpServletRequest),

response(HttpServletResponse),

out(JspWriter), servlet中的out是PrintWriter

2.作用域通信对象:pageContext, request,

session(HttpSession),

application(ServletContext)

3.Servlet对象:page(this), config

4.错误对象:exception

JavaBean

[java] view plain copy print?

一个标准的JavaBean有三个条件

1.共有的类

2.具有不带参数的公共的构造方法

3.具有set()和get()方法

4.私有属性

Jsp中的标准动作

[java] view plain copy print?

1.useBean:创建JavaBean的一个实例

2.setProperty:给JavaBean的属性赋值

value和param不能同时使用

偷懒的方法:

这个时候需要注意的是,表单元素的名字必须和JavaBean的属性值

一模一样

3.getProperty:获得JvaBean的属性值

4.forward:内部跳转,相当于request.getRequestDispatcher().forward(request, response);

5.include:包含

表达式语言

[java] view plain copy print?

EL: Expression Language

语法格式: ${表达式 }

表示式 = 运算符 + 操作数

运算符:跟Java比较,多了一个empty, 少了一个赋值运算符

${empty ""} : true

${empty null} :true

操作数:

-->常量:布尔型(true/false), 整型, 浮点型, 字符串(可以用'', 还可以用""), Null

-->变量:

1.指的是放在四个标准范围里的属性(page, request, session, application)

2.在编准范围内的搜索顺序:page-->request--->session--->application

3.怎么取得变量值:点运算符., 还以用[]

request.setAttribute("name", "lisi");

%>

${requestScope.name}

或者

${requestScope["name"]}

-->隐式对象

1.pageContext:通过它可以访问request, session, servletContext

2.跟范围由关的:pageScope, requestScope, sessionScope, applicationScope

3.跟输入有关的:param, paramValues

4.其他的:header, cookie, headervalues,

EL表达式适用的场合:

1.可以在静态文本中使用

2.与自定义标签结合使用

3.和JavaBean结合使用

${stu.stuName}

自定义标签

[java] view plain copy print?

1.标签处理程序实现

--->实现:继承自BodyTagSupport或者TagSupport

一般会重写doStartTag(), doEndTag(), doAfterBody()

--->描述:在标签库描述符文件中描述(.tld)

1.0

2.0

simpletag

showbody

com.westaccp.test.ShowBodyTag

empty/jsp

color

--->使用:

2.标签文件

--->实现和描述

在.tag文件中实现

设置主体内容:

设置属性:

有主体内容:

String body = (String) session.getAttribute("theBody");

%>

--->使用

WEB-INF/tags/sayhello.tag

标准标签库

[java] view plain copy print?

1.核心标签库

-->通用:

set:

out:

remove:

-->条件:

if:.....

choose:

...

...

...

.....

...

-->迭代:

forEach:

foTokens:

Java,C#;SQLC

2.I18N与格式化标签库

-->setLocale:设置本地区域

-->bundle:设置资源包

-->setBundle:设置资源包

-->message:输出消息

3.SQL标签库

-->setDataSource:设置数据源,用于获得与数据库的连接

-->query:执行查询

-->update:执行增,删,改

-->transaction:事务

-->param:参数

4.XML标签库

过滤器

[java] view plain copy print?

生命周期:

1.实例华:

2.初始化:init()

3.过滤:doFilter()

4.销毁:destroy()

5.不可用

配置

[java] view plain copy print?

几个重要的接口

[java] view plain copy print?

1.Filter:init(), doFilter(), destroy()

2.FilterChain: doFilter(request, response)

3.FilterConfig:getFilterName(), getInitParameter(),

过滤器链

--->1--->2--->3--->Servlet 请求

MvC设计模式

[java] view plain copy print?

1.ModelI:jsp+JavaBean

2.ModelII:jsp+Servlet+JavaBean

jsp---view

servlet---control

javabean---model

MVC:

M--Model:模型:访问后台数据库

V--view:视图:展示

C--control:控制器:控制程序流程

ModelII和MVC的关系:

MVC是一种设计模式,ModelII它是MVC的一种具体的实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java语言执行模式,使用java.exe执行静默模式

I would like to know if there is a way to execute the "java.exe" as a background process (silent mode execution)Ex: java -cp . MyClass arg1I want to run the above statement as a background process , without opening command window解决方案Under Win…

linux下tomcat部署java web项目_求助帖 linux服务器 tomcat部署javaweb项目问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼03-Sep-2018 17:42:07.330 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:org.apache.catalina.LifecycleException: Failed to start component [Stan…

rabbitmq+topic+java_译:5.RabbitMQ Java Client 之 Topics (主题)

我们使用的是direct(直接交换)&#xff0c;而不是使用只能进行虚拟广播的 fanout(扇出交换)&#xff0c;并且有可能选择性地接收日志。虽然使用direct(直接交换)改进了我们的系统&#xff0c;但它仍然有局限性 - 它不能基于多个标准进行路由。在我们的日志系统中&#xff0c;我…

java某个时间推迟60天_java计算两个时间相差(天、小时、分钟、秒)

public static long dateDiff(String startTime, String endTime,String format, String str) {// 按照传入的格式生成一个simpledateformate对象SimpleDateFormat sd new SimpleDateFormat(format);long nd 1000 * 24 * 60 * 60;// 一天的毫秒数long nh 1000 * 60 * 60;// …

java影碟租赁系统_java影碟管理系统

在学习基于javaweb的影碟管理系统项目的时候&#xff0c;方便日后能及时查阅&#xff0c;在本平台中记录一下基于javaweb的影碟管理系统的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便&#xff0c;简单易上手。基于javaweb的影碟管理系统…

hasp 加密 java_加密软件HASP的使用说明

加密软件hasp使用说明1.hasp环境的搭建hasp环境的搭建要根据机器的环境来安装&#xff0c;①windows系统的就安装windows版本&#xff0c;安装步骤可以参考&#xff1c;录像&#xff1e;文件下里的hasp5.0系统安装.exe&#xff1b;②linux版本的需要安装linux版本&#xff0c;安…

java明文发送_使用java MD5加密网络明文

1.[代码][Java]代码import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/*** Created by liuhj on 2015/11/27.*/public class MD5 {public static void main(String args[]){StringMD5("123456");}public static String StringMD5(…

php设置session 生命周期,设置session的生命周期(php)

PHP中&#xff0c;Session变量保存在服务器端(默认以文件格式保存)&#xff0c;而Session ID以cookie形式保存在客户端。销毁session的方法有2种第一种是通过程序session_destory()方法清除所有sessionunset(session[x])来清除指定的session[x]。第二种是通过关闭浏览器关闭后会…

php 查找无限级,Ztree + PHP 无限级节点 递归查找节点法

一、前言简单的描述一下&#xff0c;实习几个原理&#xff0c;思想&#xff0c;其实写很多东西&#xff0c;思想算是最重要的。1、目标&#xff1a;将写一个无限节点的树形目录结构&#xff0c;如下图步骤&#xff1a;1、你的下载 插件 ztree。然后布置在你的项目中。2、相关C…

用php实现一个简易的web表单生成器,网络编程PHP Web表单生成器案例分析

本文实例讲述了PHP Web表单生成器。分享给大家供大家参考&#xff0c;具体如下&#xff1a;1.实例&#xff1a;2. 需求分析在项目的实际开发中&#xff0c;经常需要设计各种各样表单。直接编写HTML表单虽然简单&#xff0c;但修改、维护相对麻烦。因此&#xff0c;可以利用PHP实…

php瀑布墙,phpwind Next增加“瀑布流”图墙展示模式

近日&#xff0c;化龙巷网站CEO钱钰在微博上爆出phpwind最新版本的部分截图&#xff0c;引发行业关注。据悉&#xff0c;该版本或命名“Next”&#xff0c;目前&#xff0c;phpwind官方暂未对外披露新版本相关信息,也未公布项目的进展。从流传的产品首页效果图来看&#xff0c;…

管理员信息模块php,管理员模块功能代码

摘要&#xff1a;<?php /*** Created by PhpStorm.* User: Administrator* Date: 2019/5/10* Time: 10:12*/namespace app\admin\contro<?php /*** Created by PhpStorm.* User: Administrator* Date: 2019/5/10* Time: 10:12*/namespace app\admin\controller;use app…

php项目的建立,PHP开发-ZendStudio初学教程-建立PHP项目

英文描述Project Name: Enter the name of your project.Location: Enter the location folder for your project.PHP Server :- Click the drop-down menu and select an existing server for deploying the new server project, or click Add Server to create a new server.…

matlab中随机森林实现,随机森林实现 MATLAB

matlab 中随机森林工具箱的下载地址&#xff1a;http://code.google.com/p/randomforest-matlab/downloads/detail?nameWindows-Precompiled-RF_MexStandalone-v0.02-.zip&can2&q%% 基于随机森林思想的组合分类器设计%% 清空环境变量clear allclcwarning off%% 导入数…

MATLAB电压不平衡,电力系统不对称故障计算的Matlab算法程序

NF1;for i11:NFclear;n19;n29;n09;nl115;nl215;nl015;Lfinput(请输入短路类型(单相接地短路输入‘1’&#xff0c;两相短路输入‘2’&#xff0c;两相短路接地输入‘3’):Lf);f7;If0;zf0;zg0;B1 [0 1 0.0553i 0 1 0 ;0 2 0.1228i 0 1 0;0 3 0.1785i 0 1 0 ;1 4 0.0476i 0 1.050…

matlab示波器有功功率,巧用示波器计算功率-测试测量-与非网

示波器主要用于测量电流和电压&#xff0c;然后通过一系列魔术般的数学公式就可以计算出功率。遗憾的是&#xff0c;功率有许多种类&#xff1a;瞬时功率、有功功率、视在功率和无功功率。这么多的功率术语经常让人感到困惑。本文介绍了如何在Teledyne LeCroy HDO 6000示波器上…

matlab ctrb(),4.8Matlab问题能控能观解释.ppt

Ch.4 线性系统的能控性和能观性 Matlab问题(1/1) 4.8 Matlab问题 本章涉及的计算问题主要有 状态能控性/能观性判定、 系统能控能观分解、 能控/能观规范形变换以及 能控/能观规范形实现。 下面分别介绍基于Matlab的上述问题的程序编制和计算方法。 状态能控性与能观性判定 (1/…

matlab如何导入多文本数据,将文本文件中的混合数据导入表

样本文件概述样本文件 outages.csv 包含表示美国电力中断的数据。文件的前几行如下&#xff1a;Region,OutageTime,Loss,Customers,RestorationTime,CauseSouthWest,2002-01-20 11:49,672,2902379,2002-01-24 21:58,winter stormSouthEast,2002-01-30 01:18,796,336436,2002-02…

php 表单提交文件大小,PHP如何通过表单直接提交大文件详解

PHP如何通过表单直接提交大文件详解前言我想通过表单直接提交大文件&#xff0c;django 那边我就是这么干的。而对于 php 来说&#xff0c;我认为尽管可以设置最大上传的大小&#xff0c;但最大也无法超过内存大小&#xff0c;因为它无法把文件内容都放到 php://input 里面。直…

wordpress url index.php,WordPress对URL的路由解析过程详解

本文说明WP 对URL rewrite并生成当前请求的过程. 实际内容并不复杂, 说的比较啰嗦啦…关于Query Vars这是Wordpress全部代码中最重要的变量,所谓的query vars是一系列变量集合. WP通过解析URL设定query vars, 并通过分析query vars值决定显示那些文章,设定标志位等.所谓标志位是…