予備Servlet_Day2_

A、Tomcatの統合

二、servletLifeサーブレットのライフサイクル

図1に示すように、初期化

2、実行------通話

3、破壊(メモリから破壊)

III。

図1に示すように、処理要求方法のための方法:方法のdoGet差サービスのdoPost

1、新しいサーブレット

2、新しいJSP:メソッド

ボディ形式でフォームを書く:ユーザーのログインフォーム

アクション提给サーブレット 

方法

取得する

唯一の治療のget メソッド

役職

唯一の治療のget メソッド

また、ポスト処理方法を扱うことができる方法を得ることができる3、サービス

4、サービスGETはサーブレットのポストにいる間がある場合

プライオリティサービス

5、

もし

Super.service(arg0は、ARG1):削除されていません

親クラスのサービスを呼び出します、あなたがして)のdoGet()またはdoPostメソッドを(呼び出すことができます

雷程度の親クラスのサービス・メソッド

IF(のdoGet()){

doGet();

}そうであれば(のdoPost()){

doPost();

}

通常のdoGetを(書き込み、実行の前提条件)とのdoPost()メソッド

 

注意:

長いサーブレットがメモリにロードされているが、ハードなことは、まだメッセージで、削除されません

405 リクエストメソッドサーバがサポートしていません。

四、サーブレット一般的なエラー

404:

リソースが見つかりません。

サーブレットエイリアスエラー

プロジェクト名スペルミス

405:

リクエストメソッドがサポートされていません

500:

web.xmlのビュークラスのマッピングエラー

クラスは、論理エラーがあります

五、リクエスト

データオブジェクトを格納するための要求

現在のリクエスト情報要求をアーカイブ

注:Tomcatで作成されたリクエスト・オブジェクトには、引数がサービスに渡さ

1、どのように要求されたデータを取得します

取得要求ヘッダ

道の取得要求

getMethod()メソッド

获取请求URL

getRequestURL()

getRequestURI()

获取协议

getScheme()

 

获取请求行信息

getHeader("键值名");----------事先知道键名

getHeadersname("");------获得所有建植信息

Enumeration

While(e.hasnext){

Syso(e.nextelement);

}

获取用户数据

request并不区分get和post方法,因此此时已经解析完成了

Req.getParameter("键值名称");

如果出现 返回的是null 后台写的键值名不存在或者不一致

乱码出现的原因取数据和存数据的编码不一致

getParameter()不能获取同键不同值的数据(checkbox)

getParameterValues()可以

注意空指针异常

获取键值名

getParameterNames()

六、Response

1、提取数据

 

2、处理请求

数据库操作

3、处理结果

设置响应头

setHeader("键","值")

set覆盖上一个同键

目前不可为中文

addHeader("键","值")

add与上一个一起出现再响应头中

目前不可为中文

sendError(错误代码,"语句")

出现错误的时候出现

 

设置

"conten-type" "text/html;charset=utf-8"

setContentType("text/html;charset=utf-8")

设置响应实体

getWriter.write("String:msg")

发布了26 篇原创文章 · 获赞 4 · 访问量 1万+

おすすめ

転載: blog.csdn.net/weixin_41926640/article/details/100350052