大家好,今天來(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)題,我們非常高興。