JavaWebパーツ
原因彼のインタビューの準備の質問は、あなた自身を追加し、他の人が共有して統合します!
1. Tomcatの最適化の経験
web.xmlおよびサーブレットへのエディタのJSP事前の監視を削除します。
物理メモリの黒字、TomcatのJVMメモリの使用の増加
2.サーブレットが何であるかを説明
コントローラは、処理要求に相当します。
サーブレットのライフサイクルに関する3話?
サーブレットのライフサイクルは、3つの段階に分けられる:
初期化段階は、init()メソッドを呼び出す
方法2、クライアント要求への位相応答が呼び出すサービス()
()メソッド、終了フェーズが破壊呼び出す3
それが作成された4サーブレット
最初のWebクライアントがサーブレットのへのアクセスを要求したとき1は、デフォルトでは、WEBのサーブレットコンテナは、このインスタンスを作成します。
図2に示すように、web.xmlファイルの要素は、サーブレットコンテナが起動するとき、Webサーバー、サブ要素で指定されている場合、サーブレットのオブジェクトが順番に作成され、初期化されます。
5.サーブレットの作品
1.クライアントが要求を送信します
(インサービスを呼び出す2.Servlet)
3.のdoPost()、doGetメソッドを呼び出す
4.通話のビジネス層
クライアントに生成された応答5.
前方6.サーブレットAPI()と()の違いをリダイレクト?
前方:アドレスバーには、一度サーバに完了した要求を変更しません。
リダイレクト:アドレスバー、1または2回、要求を変更して、クライアントが終了します。
どのような状況下でのdoGet()メソッドとdoPost()7.を呼び出し?
メソッドのJSPページFORMタグの属性はのdoGet()が取得され、doPostメソッドの呼び出しは()ポストです呼び出します。
メインオブジェクトメソッド8.Request
setAttribute(String name,Object):设置名字为 name 的 request 的参数值
getAttribute(String name):返回由 name 指定的属性值
getAttributeNames():返回 request 对象所有属性的名字集合,结果是一个枚举的实例
getCookies():返回客户端的所有 Cookie 对象,结果是一个 Cookie 数组
getCharacterEncoding():返回请求中的字符编码方式
getContentLength():返回请求的 Body 的长度
getHeader(String name):获得 HTTP 协议定义的文件头信息
getHeaders(String name):返回指定名字的 request Header 的所有值,结果是一个枚举的
实例
getHeaderNames():返回所以 request Header 的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有 name 指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的
实例
getParametervalues(String name):获得有 name 指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的 IP 地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关 Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
9. JSP共通の命令
isErrorPage(あなたはExceptionオブジェクトを使用することができる場合)、isELIgnored(式を無視するかどうか)
違い10. request.getAttribute()およびrequest.getParameter()とは何ですか?
getParameterでGETはString型です。またはHTTP:上記ID = 123 //a.jsp 123、またはフォームによって提出過去のデータ。getAttributeそれはオブジェクトにすることができます。
内蔵されたオブジェクト11のjsp?あるどのような役割?どのような方法がありましたか?
JSP 共有以下9个内置的对象:
Page: JSP 网页本身,表示从该页面产生的一个 servlet 实例
Exception: 针对错误网页,未捕捉的例外
Request: 表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie, header,和 session 数据的有用的方法。
Response: 表示 HttpServletResponse 对象,并提供了几个用于设置送回浏览器的响应的方法(如 cookies,头信息等)
Out: 对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext: 表示一个 javax.servlet.jsp.PageContext 对象。它是用于方便存取各种范围的名字空间、servlet 相关的对象的 API,并且包装了通用的 servlet 相关功能的方法。
Session: 表示一个请求的 javax.servlet.http.HttpSession 对象。Session 可以存贮用户的
Applicaton: 表示一个 javax.servle.ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet 环境的信息
Config: 表示一个 javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。
12. JSPどんなアクションがありますか?どのような役割をしていますか?
JSP 共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个 JavaBean。
jsp:setProperty:设置 JavaBean 的属性。
jsp:getProperty:输出某个 JavaBean 的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记
13との間に渡されたページ・オブジェクトのメソッド
リクエスト、セッション、アプリケーション、クッキー等
14.ジャンプする方法の2種類が何であるかの違いは何ですか?
二つのタイプ、すなわち、があります。
<jsp:ページ= included.jspがフラッシュ=真を含めます>
<jsp:前方ページ= nextpage.jsp />
ページめくりが含まれていない元のページには、単に結果ページ、メインページまたは元のページを表示するように言及しました。実装は、バック関数呼び出しと同等のものを来る後。そして、あなたはパラメータを取ることができます。後者は完全に新しいページを回したし、返すことはありません。
15.JSPとサーブレットは、それらの間の接続がされているどのような類似点と相違点は何ですか?
JSPはサーブレットは、表現のアプリケーションの外観をより重視本質の簡単な方法で、サーブレット技術の拡張です。JSPは、
「クラスサーブレット」をまとめました。JSPの利点は、Webページを作成するのが得意で、より直感的な動的なページを生成し、欠点は、追跡しやすいとデバッグではありません。
サーブレットは、純粋なJava言語でプロセスやビジネス・ロジックを専門に、欠点は、動的なWebページを生成する直感的ではありません。
サーブレットおよびアプリケーション・ロジックは、Javaサーブレットファイルで、完全にHTMLプレゼンテーション層から分離JSPの主な違い。状況JSPは、JavaとHTMLが.jspファイルの拡張子にまとめることができます。JSPはサーブレット、主制御ロジックのためのビュー、に焦点を当てています。
MVCの16.さまざまな部分は、達成するためにどのように?達成するためにこれらの技術を持っていますか?
MVCは、Model-View-Controller速記です。モデルは(JavaBeanの、EJBコンポーネントの実装によって)アプリケーションのビジネス・ロジックを表し、ビューアプリケーションは、(JSPページによって生成された)表面であり、コントローラは、プロセス制御アプリケーション(典型的にはサーブレット)、このような設計モデルを提供しますアプリケーションロジック、処理及び表示ロジックは、異なるコンポーネントに実装します。これらのコンポーネントは、相互に作用して再利用することができます。
17.私たちはしばしば、このような特定の出力が文字列をエンコードする方法ISO8859-1およびその他のWebアプリケーションの開発プロセスとして、出力エンコードされた文字のいくつかの種類が発生しましたか?
Public String translate(String str) {
String tempStr ="";
try {
tempStr=newString(str.getBytes("ISO-8859-1"), "GBK");
tempStr=tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;
}
18.サーブレットのパッケージには、瓶のですか?サーブレットクラスが何を継承する必要が書きますか?
サーブレット-api.jarの
HttpServletを
19.通常達成される方法サーブレットを書きますか?
doGetメソッド、doPostメソッドは、初期化、破壊する方法
どのような20のdoGetメソッドのdoPostメソッドと二つのパラメータ?
HttpServletRequestの
HttpServletResponseの
パラメータを取得する方法21
request.getParameter-単一の値を得る
request.getParameterValues-多値を得ます
21フォワード、サーブレットでのsendRedirect対応する方法?
RequestDispatcher RD = request.getRequestDispatcher( "ターゲットファイル");
rd.forward(要求、応答);
response.sendRedirect( "ターゲットファイル")。
どのファイルで設定され22.servlet?
web.xmlのウェブデプロイメント・ディスクリプタ・ファイル。WEB-INFの\ web.xmlファイル
サーブレットフィルタの役割について23話?
サーブレットフィルタは、フィルタは、後続の処理の前に、前処理され、フィルタを、このパスにアクセスする前に、特定の要求の経路をフィルタリング実行することができる、特別なサーブレットです。
サーブレットリスナーの役割について24話?
サーブレットリスナーはリスナーがコードを実行し、これらのイベントが発生したときに、特定のイベントをリッスンします。
二つの主要なパッケージの25サーブレットAPI?
javax.servlet。;
javax.servlet.httpの。;
26.実行する方法を、ユーザーの応答情報を与えますか?
response.setContentType(「text / htmlの、文字セット= 『GBK』」)。
PrintWriterアウト= response.getWriter()。
out.printlnを( "...");
27.どのような位置にサーブレットクラスにコンパイル?
次のクラスでは、WebアプリケーションのWEB-INFフォルダを。
28. Webコンテナとは何ですか?
合意を達成するためのJ2EE Webアプリケーションの仕様。これに並行性、セキュリティ、ライフサイクル管理、および:プロトコルは、以下を含むWebアプリケーションのランタイム環境を定義します。
実行中の29のjsp?
1)クライアントがREQUESTリクエスト送信
2)JSPサーブレットコンテナJSPソースコード変換
サーブレットはメモリにロードされ、コンパイルされた後)3を得られたソースコードを
クライアントへの応答の結果に応じて)4
スコープの30.4種類
ページ:関連するオブジェクトと属性の代わりにページ。静的を共有することができるオブジェクトと属性が含ま
要求:関連オブジェクトと属性に代わって要求を。
セッション:ユーザーに関連付けられているオブジェクトと属性の代表。
アプリケーション:オブジェクトと属性に関連付けられたWebアプリケーション全体の代わりに。
フィルタの31. JSPの4種類
要求、前方として、エラー
ブラウザのキャッシュで実行さ32 JSP
response.setHeader(「有効期限」、0);
response.setHeader(「のCache-Control」、「キャッシュなし」)。
response.setHeader(「プラグマ」、「キャッシュなし」)。
33. JSPクッキーセット
クッキーC =新しいクッキー(「名前」、「tomzhang」);
response.addCookie©;
34.クッキーを削除するJSP
c.setMaxAge(0)。
35 JSPの実行を停止する方法をJSP
<%
IF(条件式){
//何かを
他} {
リターンを;
}
%>
フィールドを防ぐために、どのように結果セットは、HTMLテキストフィールドに表示される「ヌル」である36?
<%!
String blanknull(String s){
if(s == null or s.equals("")){ s = "";}
return s;
}
%>
<input type ="text" name="name" value="<%=blanknull(name)%>"/>
37.どのようにセッションの現在の数を取得しますか?
追跡するために、HttpSessionBindingListenerのリスナーを使用してください。
38のgetSession(真)とのgetSession(false)の違いは?
でrequest.getSession(真):セッションは(あなたがセッションにデータを書き込みたい場合は)新しいセッションを作成するために存在しない場合
でrequest.getSession(偽):あなただけ読みたい場合は、セッションが(nullを返す存在しない場合はセッションデータ)