- N +

servletconfig servlet.init()for servlet

大家好,今天來(lái)為大家分享servletconfig的一些知識(shí)點(diǎn),和servlet的問(wèn)題解析,大家要是都明白,那么可以忽略,如果不太清楚的話可以看看本篇文章,相信很大概率可以解決您的問(wèn)題,接下來(lái)我們就一起來(lái)看看吧!

conf是什么命令

conf是配置文件config的簡(jiǎn)寫,多用于存取硬件驅(qū)動(dòng)程序的安裝配置信息。

config是Web配置命令,web容器在初始化時(shí)使用一個(gè)ServletConfig(即config)對(duì)象向JSP頁(yè)面?zhèn)鬟f信息,此配置信息包括初始化參數(shù)(在當(dāng)前Web應(yīng)用的應(yīng)用部署描述文件web.xml中定義)以及表示Servlet或JSP頁(yè)面所屬Web應(yīng)用的ServletContext對(duì)象。

extjs怎么獲取當(dāng)前mac地址

packagecom.alpha.test;

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.LineNumberReader;

publicclassGetMac{

/**

*java獲取客戶端網(wǎng)卡的MAC地址

*

*@paramargs

*/

publicstaticvoidmain(String[]args){

GetMacget=newGetMac();

System.out.println("1="+get.getMAC());

System.out.println("2="+get.getMAC("127.0.0.1"));

}

//1.獲取客戶端ip地址(這個(gè)必須從客戶端傳到后臺(tái)):

//jsp頁(yè)面下,很簡(jiǎn)單,request.getRemoteAddr();

//因?yàn)橄到y(tǒng)的VIew層是用JSF來(lái)實(shí)現(xiàn)的,因此頁(yè)面上沒(méi)法直接獲得類似request,在bean里做了個(gè)強(qiáng)制轉(zhuǎn)換

//publicStringgetMyIP(){

//try{

//FacesContextfc=FacesContext.getCurrentInstance();

//HttpServletRequestrequest=(HttpServletRequest)fc

//.getExternalContext().getRequest();

//returnrequest.getRemoteAddr();

//}catch(Exceptione){

//e.printStackTrace();

//}

//return"";

//}

//2.獲取客戶端mac地址

//調(diào)用window的命令,在后臺(tái)Bean里實(shí)現(xiàn)通過(guò)ip來(lái)獲取mac地址。方法如下:

//運(yùn)行速度【快】

publicStringgetMAC(){

Stringmac=null;

try{

Processpro=Runtime.getRuntime().exec("cmd.exe/cipconfig/all");

InputStreamis=pro.getInputStream();

BufferedReaderbr=newBufferedReader(newInputStreamReader(is));

Stringmessage=br.readLine();

intindex=-1;

while(message!=null){

if((index=message.indexOf("PhysicalAddress"))>0){

mac=message.substring(index+36).trim();

break;

}

message=br.readLine();

}

System.out.println(mac);

br.close();

pro.destroy();

}catch(IOExceptione){

System.out.println("Can'tgetmacaddress!");

returnnull;

}

returnmac;

}

//運(yùn)行速度【慢】

publicStringgetMAC(Stringip){

Stringstr=null;

StringmacAddress=null;

try{

Processp=Runtime.getRuntime().exec("nbtstat-A"+ip);

InputStreamReaderir=newInputStreamReader(p.getInputStream());

LineNumberReaderinput=newLineNumberReader(ir);

for(;true;){

str=input.readLine();

if(str!=null){

if(str.indexOf("MACAddress")>1){

macAddress=str

.substring(str.indexOf("MACAddress")+14);

break;

}

}

}

}catch(IOExceptione){

e.printStackTrace(System.out);

returnnull;

}

returnmacAddress;

}

}

java如何防止sql注入

java防SQL注入,最簡(jiǎn)單的辦法是杜絕SQL拼接,SQL注入攻擊能得逞是因?yàn)樵谠蠸QL語(yǔ)句中加入了新的邏輯,如果使用PreparedStatement來(lái)代替Statement來(lái)執(zhí)行SQL語(yǔ)句,其后只是輸入?yún)?shù),SQL注入攻擊手段將無(wú)效,這是因?yàn)镻reparedStatement不允許在不同的插入時(shí)間改變查詢的邏輯結(jié)構(gòu),大部分的SQL注入已經(jīng)擋住了,在WEB層我們可以過(guò)濾用戶的輸入來(lái)防止SQL注入比如用Filter來(lái)過(guò)濾全局的表單參數(shù)

01importjava.io.IOException;

02importjava.util.Iterator;

03importjavax.servlet.Filter;

04importjavax.servlet.FilterChain;

05importjavax.servlet.FilterConfig;

06importjavax.servlet.ServletException;

07importjavax.servlet.ServletRequest;

08importjavax.servlet.ServletResponse;

09importjavax.servlet.http.HttpServletRequest;

10importjavax.servlet.http.HttpServletResponse;

11/**

12*通過(guò)Filter過(guò)濾器來(lái)防SQL注入攻擊

13*

14*/

15publicclassSQLFilterimplementsFilter{

16privateStringinj_str="'|and|exec|insert|select|delete|update|count|*|%

|chr|mid|master|truncate|char|declare|;|or|-|+|,";

17protectedFilterConfigfilterConfig=null;

18/**

19*Shouldacharacterencodingspecifiedbytheclientbeignored?

20*/

21protectedbooleanignore=true;

22publicvoidinit(FilterConfigconfig)throwsServletException{

23this.filterConfig=config;

24this.inj_str=filterConfig.getInitParameter("keywords");

25}

26publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,

27FilterChainchain)throwsIOException,ServletException{

28HttpServletRequestreq=(HttpServletRequest)request;

29HttpServletResponseres=(HttpServletResponse)response;

30Iteratorvalues=req.getParameterMap().values().iterator();//獲取所有的表單參數(shù)

31while(values.hasNext()){

32String[]value=(String[])values.next();

33for(inti=0;i<value.length;i++){

34if(sql_inj(value[i])){

35//TODO這里發(fā)現(xiàn)sql注入代碼的業(yè)務(wù)邏輯代碼

36return;

37}

38}

39}

40chain.doFilter(request,response);

41}

42publicbooleansql_inj(Stringstr)

43{

44String[]inj_stra=inj_str.split("\\|");

45for(inti=0;i<inj_stra.length;i++)

46{

47if(str.indexOf(""+inj_stra[i]+"")>=0)

48{

學(xué)習(xí)資源

百度搜索圈T社區(qū)(www.aiquanti.com)免費(fèi)視頻教程

servlet到底屬于MVC的哪一層

JavaWeb開(kāi)發(fā)中Servlet是屬于控制層最底端的部分的,也就是MVCc的最底層。

他往往用來(lái)處理請(qǐng)求的。

他的外一層就是View、他的一層就是Service(Servlet往往調(diào)用他做邏輯判斷的操作)原始的Servlet的生命周期servlet在第一次訪問(wèn)的時(shí)候就會(huì)被初始化servlet對(duì)象一旦被創(chuàng)建就會(huì)駐留在內(nèi)存中,當(dāng)服務(wù)器關(guān)閉或者web應(yīng)用被移除的時(shí)候servlet對(duì)象才銷毀

1:當(dāng)servlet被創(chuàng)建的時(shí)候那么servlet就會(huì)被初始化調(diào)用init方法

2:任何請(qǐng)求來(lái)自客戶端,service方法就會(huì)被自動(dòng)調(diào)用

3:當(dāng)servlet從服務(wù)器被移除的時(shí)候distroy方法將會(huì)被調(diào)用如下是一個(gè)原始的Servlet代碼(這并不是現(xiàn)在開(kāi)發(fā)一貫的做法,請(qǐng)往下看)

ServletConfig

getServletConfig方法用來(lái)獲得servlet的啟動(dòng)信息,和getServletInfo方法可以活的servlet的基本信息,和關(guān)于它自己的一些信息,例如作者,版本,版權(quán)等

為Servlet設(shè)置初始參數(shù)要在web.xml中配置(只對(duì)當(dāng)前servlet有效)

如下是在Web.xml中為當(dāng)前servlet配置初始化參數(shù)的。

ServletCofig對(duì)象可以通過(guò)this.getServletConfig來(lái)獲得,因?yàn)樵诟割愔幸呀?jīng)在獲得了ServletConfig對(duì)象;也可以servletconfig對(duì)象可以通過(guò)父類的init方法內(nèi)穿過(guò)來(lái)的config對(duì)象獲取。

ServletContext

通常我們稱ServletContext叫Application對(duì)象。也叫域?qū)ο蟆?/p>

Servlet引擎為每個(gè)WEB應(yīng)用程序都創(chuàng)建一個(gè)對(duì)應(yīng)的ServletContext對(duì)象,ServletContext對(duì)象被包含在ServletConfig對(duì)象中,調(diào)用ServletConfig.getServletContext方法可以返回

通常獲得ServletContext的方法是直接getservletcontext因?yàn)樵诟割愔幸呀?jīng)定義了這樣的方法,子類直接繼承使用。

ServletContext對(duì)象的引用。getServletContext().getInitParameter("a")的方式獲得web應(yīng)用的初始化參數(shù)

我們還可以為整個(gè)web應(yīng)用配置初始化參數(shù)

Request&Response

基本servlet中service的方法的request和response對(duì)象分別是

RequestFacade和ResponseFacade這個(gè)類是Tomcat中的類他繼承自HttpServletRequest而HttpServletRequest又繼承ServletRequest(Response同理)

一些常用方法:

request.getRequestURL();獲得URl

request.getHeader("accept-encoding");獲得支持的壓縮格式

request.getHeader("referer");獲得來(lái)自哪里(防盜鏈)

request.getInputStream();獲得消息體

request.getParameter("name")獲得參數(shù)

如下是現(xiàn)代開(kāi)發(fā)中常用的Servlet

conf是什么

conf是配置文件config的簡(jiǎn)寫,多用于存取硬件驅(qū)動(dòng)程序的安裝配置信息。

config是Web配置命令,web容器在初始化時(shí)使用一個(gè)ServletConfig(即config)對(duì)象向JSP頁(yè)面?zhèn)鬟f信息,此配置信息包括初始化參數(shù)(在當(dāng)前Web應(yīng)用的應(yīng)用部署描述文件web.xml中定義)以及表示Servlet或JSP頁(yè)面所屬Web應(yīng)用的ServletContext對(duì)象。

關(guān)于本次servletconfig和servlet的問(wèn)題分享到這里就結(jié)束了,如果解決了您的問(wèn)題,我們非常高興。

返回列表
上一篇:
下一篇: