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")