程序博客网
程序博客网
热点推荐
推荐博客
编程语言
数据库
前端
程序博客网
>
jquery popup加载数据
TC608——Java中的Servlet编程问答
来源:互联网 发布:
jquery popup加载数据
编辑:程序博客网 时间:2024/04/27 18:36
Servlet整理
author:lxy1.什么是Servlet?运行在Servlet容器中,由服务器服务器直接解析运行的Java应用小程序,2.怎样创建一个Servlet实质:通过继承或实现接口类并重写方法。步骤:[1].创建一个类,继承HttpServlet(实现Servlet接口 或 继承GenericServlet类也可以) [2].重写方法;doGet、doPost等(接口中需要将所有方法重写,但是service方法是处理请求) [3].在web.xml文件中配置
3.Servlet的生命周期:大致过程:[1].创建Servlet对象,并调用init()方法对web进行资源初始化[2].通过service方法来处理请求[3].通过destroy来销毁Servlet细节:[1].当创建一个Servlet后,第一次访问web时会创建一个Servlet对象,并调用init一次方法,同时开启一个线程来调用service方法,init只调用一次[2].当第二次访问时再开启一个线程来调用service方法处理请求[3].Servlet常驻内存,一般情况只会创建一次。[4].如果在Servlet中创建了成员变量要处理线程安全,开发中尽量避免创建
4.Servlet接口和HttpServlet类中的 doGet和doPost 方法的关系?[1].一个Servlet被访问时,默认service方法处理请求,[2].service方法在Servlet中定义,但是在HttpServlet中复写具体内容[3].在HttpServlet 的service方法中,会根据请求方法调用不同的方法[4].根据多态,在调用doGet 、doPost时,调用的是自己Servlet的方法 补充:模板设计模式: public abstract class Car {public abstract void fire(); // 打火public abstract void run();// 行驶public abstract void stop();// 停止//模板public void drive() {fire();run();stop();} } //继承Car接口的Bmw类 public class Bmw extends Car {@Overridepublic void fire() {System.out.println("bmw fire");}@Overridepublic void run() {System.out.println("bmw run");}@Overridepublic void stop() {System.out.println("bmw stop");} } //测试 public class Test {public static void main(String[] args) {Car c = new Bmw();c.drive();} }
5.认识TomCat中文件夹:|-bin存放启动、关闭等服务器程序|-conf存放配置信息|-lib存放jar包|-logs存放日志文件|-temp存放临时文件|-webapps存放部署应用,内部有几个文件夹就有几个应用 |-WEB-INF |-classes Java类 |-lib Java类运行所需jar包 |-web.xml wab应用的配置文件 |-images图片等媒体文件|-work服务器工作目录
6.Servlet的自动加载:[1].通过在web.xml文件<servlet>标签中加上<load-on-startup>2</load-on-startup> 让Servlet跟随服务器启动而创建[2].作用:加载资源[3].标签中取值1--10,数值小优先级高,优先级相同按照配置顺序加载。
7.Servlet配置中的url-pattern:[1].一个Servlet 是否可以映射到多个路径?可以[2].url-pattern 的写法(有无*)a.完全匹配要求必须以"/"开始b.目录匹配:以"/"开始以 * 结尾c.扩展名匹配:以*.xxx结尾以上三种写法优先级:a > b > c;
8.web开发中的路径问题:[1].浏览器访问服务器有几种方式? a.浏览器地址栏输入URL b.超练级 <a href="http://www.itheima.com" >黑马</a> c.表单 <form action="...." method="post">...</form> //常用请求方式post get,除了表单可以post,其他都是get d.javascript[2].访问Servlet路径 a.绝对路径: |--带协议一般用于访问站外资源,开发不常用 <a href="http://www.baidu.com" >百度</a> |--不带协议 在浏览器端写一个"/",相当于是服务器的路径,后面加上工程名,再加上资源名就可以 一般用于访问站内资源,开发中常用<a href="/day7_2/demo1">demo1Servlet</a> 相当于:http://localhost:8080 b.相对路径: |-- ./XXX 同处于第二目录(工程名下)的路径 |-- ../XXX 退回上一级目录寻找目标 结论:开发中推荐使用不带协议的绝对路径 "/工程名/servlet-pattern的值"
9.Servlet接口中的init方法:[1].为什么在Servlet接口中init方法是有参数的而我们所覆写的方法没有参数?|--父类中已将init(ServletConfig config)方法重写,我们重写的方法不是接口中的方法而是其父类中定义的[2].ServletConfig是什么,有什么作用?|--ServletConfig对象代表的是Servlet的配置对象,由服务器创建,每一个Servlet都有一个自己的ServletConfig对象,不可公用|--作用:public void init(ServletConfig config) throws ServletException {this.config = config;this.init();} |---获得初始化参数当第一次访问一个Servlet时,就会创建一个ServletConfig对象,通过init方法传递到Servlet,那么我们就可以在Servlet中获取其配置信息 |---可以获得Servlet的name 获取ServletConfig对象:this.getServletConfig(); |---可以获得ServletContext对象ServletConfig的常用API: |--public String getServletName(); //用于获取Servlet名称 |--public String getInitParameter(String name); //用于获取init-parent中指定的value值 |--public Enumeration getInitParameter(String name); //用于获取所有的init-param中的name名称 |--public Servlet ServletContext getServletContext(); //用于获取一个ServletContext对象
10.关于ServletContext对象[1].ServletContext代表的是一个web应用[2].获取ServletContext对象ServletConfig。getServletConfig();[3].作用: a.获取全局初始化参数String getInitParameter(String name)EnumerAtion getInitParameterNames()在web.xml文件中可以配置 全局初始化参数<context-param><param-name>name</param-name>vparam-value>tom</param-value></context-param>此配置针对于整个web应用 b.让Servlet实现信息共享 ServletContext是一个域对象(相当于一个Map,它的作用是整个Web应用中) c.可以获取路径(资源)*-* 在web开发中,要想获取资源,必须使用绝对的磁盘路径。实例总结:1.web中访问不到MyEclipse WebRoot以外的文件,部署只有此文件中内容才会被部署进服务器
0
0
TC608——Java中的Servlet编程问答
TC608——Servlet中的Request和response请求响应技术
Java Servlet工作原理问答
Java Servlet工作原理问答
Java Servlet工作原理问答
Java Servlet工作原理问答
【Java.Web】Servlet —— Servlet中的Filter
Java泛型问答——面试
JSP中的Servlet编程
【简记】Java Web 内幕——Servlet介绍,编程
Java 中的Servlet(四)——页面跳转
Java-Servlet编程
[java]servlet编程
【Java.Web】Servlet —— 访问同一个Servlet容器中的其他Web应用
关于JAVA中的servlet
Java中的Servlet
Java Web中的Servlet
java中的Servlet
完全二叉树叶子结点的算法
png加jpg扣图lua版
Qt 之 QFrame
EBS 可拓展的外部信用风险导入
FFMPEG打印日志及线程技巧
TC608——Java中的Servlet编程问答
传授价值百万的经验
cocos2dx3.2新手实战教程-----飞机大战之路
window调试学习3——内存调试
Visual glBlendFunc + glBlendEquation Tool
分布式集群的Session问题
EBS 外部信用风险检查
父窗口与物主窗口
stringByAppendingPathComponent和stringByAppendingString的区别
jquery popup加载数据
原创
粉丝
点击
热门IT博客
网络女征婚骗局案例
中国新歌声2网络直播
用友网络股票
诺贝尔强国知乎
金华菜鸟网络招聘
淘宝客户端改差评
js 渐变色
淘宝跳蚤街
测试网络稳定性工具
vmware 教程 网络
淘宝商城服务协议
暂停数据流量功能
arp设计软件
淘宝的驱鼠器有用吗
2016年双十一数据统计
电脑端口号怎么查
java中pack
淘宝埋雷软件是真的吗
诺基亚n9怎么安装软件
zabbix监控mssql
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
城站火车站
龙岗中心城在哪个地铁站
柳城客运站
杭州城站到杭州东站
兴城火车站附近宾馆
成都国际商贸城客运站
城管电话
城管
连云港城管
城管无敌
城管招聘
城管局
城管女神
城管制服
城管热线
城管协管员
城管工资
城管方队
城管局电话
城管图片
中国城管
夸城管
城管电话投诉热线
城管投诉电话
城管电话号码
531延安城管踩人事件
投诉城管打12319有用么
城管热线24小时
全国统一城管举报电话
2019年城管改革编制
城管电话号码大全
2018城管一个月工资多少
城管属于什么部门
2018年城管对流动摊位新规定
2018城管纳入公安编制
城管投诉热线
全国城管投诉热线
德阳城管群攻小贩事件
城管工资多少钱一个月
城管举报电话
城管投诉电话查询