JAVA编程:JSP问答集
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。js1、怎样夹杂利用Jsp和SSI#include?在JSP中可使用以下体例包括纯HTML:
<!--#includefile="data.inc"-->
可是假如data.inc中包括JSPCODE,我们可使用:
<%@includefile="data.inc"%>
2、怎样实行一个线程平安的JSP?
只需增添以下指令
<%@pageisThreadSafe="false"%>
3、JSP怎样处置HTMLFORM中的数据?
经由过程内置的request对象便可,以下:
<%
Stringitem=request.getParameter("item");
inthowMany=newInteger(request.getParameter("units")).intValue();
%>
4、在JSP怎样包括一个静态文件?
静态包括以下:<%@includefile="copyright.html"%>
静态包括以下:<jsp:includepage="copyright.html"flush="true"/>
5、在JSP中怎样利用正文?
次要有四中办法:
1。<%--与--%>
2。//
3。/**与**/
4。<!--与-->
6、在JSP中怎样实行扫瞄重定向?
利用以下体例便可:response.sendRedirect("http://ybwen.home.chinaren.com/index.html");
也能物理地改动HTTPHEADER属性,以下:
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
StringnewLocn="/newpath/index.html";
response.setHeader("Location",newLocn);
%>
7、怎样避免在JSP或SERVLET中的输入不被BROWSER保留在CACHE中?
把以下剧本到场到JSP文件的入手下手便可:
<%
response.setHeader("Cache-Control","no-store");//HTTP1.1
response.setHeader("Pragma","no-cache");//HTTP1.0
response.setDateHeader("Expires",0);//preventscachingattheproxyserver
%>
8、在JSP中怎样设置COOKIE?
COOKIE是作为HTTPHEADER的一部分被发送的,以下办法便可设置:
<%
Cookiemycookie=newCookie("aName","aValue");
response.addCookie(mycookie);
%>
9、在JSP中怎样删除一个COOKIE?
<%
CookiekillMyCookie=newCookie("mycookie",null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/");
response.addCookie(killMyCookie);
%>
10、在一个JSP的哀求处置中怎样中断JSP的实行
以下例:
<%
if(request.getParameter("wen")!=null){
//dosomething
}else{
return;
}
%>
11、在JSP中怎样界说办法
你能够界说办法,可是你不克不及间接会见JSP的内置对象,而是经由过程参数的办法传送。以下:
<%!
publicStringhowBadFrom(HttpServletRequestreq){
HttpSessionses=req.getSession();
...
returnreq.getRemoteHost();
}
%>
<%
out.print("ingeneral,laoleeisnotbaddie");
%>
<%=howBadFrom(request)%>
12、假如BROWSER已封闭了COOKIES,在JSP中我怎样翻开SESSION来跟踪
利用URL重写便可,以下:
hello1.jsp
<%@pagesession="true"%>
<%
Integernum=newInteger(100);
session.putValue("num",num);
Stringurl=response.encodeURL("hello2.jsp");
%>
<ahref=<%=url%>>hello2.jsp</a>
hello2.jsp
<%@pagesession="true"%>
<%
Integeri=(Integer)session.getValue("num");
out.println("Numvalueinsessionis"+i.intValue());
%>
13、在JSP中能发送EMAIL吗
可使用SUN的公用包:sun.net.smtp包。以下剧本利用SmtpClient类发送EMAIL。
<%@pageimport="sun.net.smtp.SmtpClient,java.io.*"%>
<%
Stringfrom="ybwen@sina.com";
Stringto="hewenjun@yeah.net,lei@who.com.cn";
try{
SmtpClientclient=newSmtpClient("mail.xxxxx.xxx");
client.from(from);
client.to(to);
PrintStreammessage=client.startMessage();
message.println("To:"+to);
message.println("Subject:SendingemailfromJSP!");
message.println("ThiswassentfromaJSPpage!");
message.println();
message.println("Cool!:-)");
message.println();
message.println("GoodBoy");
message.println("Imingenius.com");
message.println();
client.closeServer();
}
catch(IOExceptione){
System.out.println("ERRORSENDINGEMAIL:"+e);
}
%>
14、在SERVLET中我能挪用一个JSP毛病页吗
固然没成绩,以下展现了怎样在一个SERVLET把持逻辑单位内挪用一个JSP毛病页面。
protectedvoidsendErrorRedirect(HttpServletRequestrequest,
HttpServletResponseresponse,StringerrorPageURL,
Throwablee)
throwsServletException,IOException{
request.setAttribute("javax.servlet.jsp.jspException",e);
getServletConfig().getServletContext().
getRequestDispatcher(errorPageURL).forward(request,
response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse){
try{
//dosomething
}catch(Exceptionex){
try{
sendErrorRedirect(request,response,"/jsp/MyErrorPage.jsp",ex);
}catch(Exceptione){
e.printStackTrace();
}
}
}
15、JSP和APPLET怎样通信
JSP怎样与EJBSessionBean通信
上面的代码段作了很好的树模
<%@pageimport="javax.naming.*,javax.rmi.PortableRemoteObject,
foo.AccountHome,foo.Account"%>
<%!
//界说一个对SessionBeanHome接话柄例的全局援用
AccountHomeaccHome=null;
publicvoidjspInit(){
//取得Home接话柄例
InitialContextcntxt=newInitialContext();
Objectref=cntxt.lookup("java:comp/env/ejb/AccountEJB");
accHome=(AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);
}
%>
<%
//实例化SessionBean
Accountacct=accHome.create();
//挪用远程办法
acct.doWhatever(...);
//云云等等
%>
16、当我利用一个了局集时,怎样避免字段为"null"的字域显现在我的HTML输出文本域中?
能够界说一个复杂的函数来到达目标,以下:
<%!
Stringblanknull(Strings){
return(s==null)?"":s;
}
%>
然后在JSP的FORM中,能够如许利用
<inputtype="text"name="shoesize"value="<%=blanknull(shoesize)%>">
17、怎样中SERVLET或JSP下载一个文件(如:binary,text,executable)?
现供应两个办理计划:
A:利用HTTP,
B:在Servlet中,经由过程设置ContentType和利用java.io包的Stream等类可作到.比方:
response.setContentType("application/x-msword");
然后想输入缓冲中写一些东东便可。
18、利用useBean标记初始化BEAN时怎样承受初始化参数
利用以下两标签便可:
<jsp:getPropertyname="wenBean"property="someProperty"/>
<jsp:setPropertyname="wenBean"property="someProperty"value="someValue"/>
19、利用JSP怎样取得客户扫瞄器的信息?
利用request.getHeader(String)便可
20、能象挪用子程序一样挪用JSP吗?
固然能够,用<jsp:includepage="relativeURL"flush="true"/>
21、当我重编译我的JSP利用的一个类后,为何JVM持续利用我的老CLASS?
<%@includefile="abc.jsp"%>与<jsp:includepage="abc.jsp"/>之间的不同?
前一个为静态包括,尔后一个为静态包括
22、JSP的弱点?
1。对JAVA程序举行调试没有好东东
2。因年夜多半的servlet引擎不撑持connectionpooling
3。Servlet引擎没有尺度
4。JSP与别的剧本言语的交互
23、JSP能举行递回挪用吗?
固然能够,如对form的提交给本页
34、怎样完成JSP的国际化?
为各类版本供应resourcebundles属性文件便可
25、在JSP中怎样写文本文件?
利用PrintWriter对象,如:
<%@pageimport="java.io.*"%>
<%
Stringstr="printme";
StringnameOfTextFile="/usr/anil/imp.txt";
try{
PrintWriterpw=newPrintWriter(newFileOutputStream(nameOfTextFile));
pw.println(str);
pw.close();
}catch(IOExceptione){
out.println(e.getMessage());
}
%>
26、怎样在JSP中包含相对路径文件?
利用URLConnection便可。
27、在servlets和JSP之间能共享session对象吗?
固然能够,
HttpSessionsession=request.getSession(true);
session.putValue("variable","value");
28、JavaScript的变量能复制到JSP的SESSION中吗?
29、怎样设置cookie在某一工夫后过时?
用Cookie.setMaxAge(int)
30、怎样取得以后的sessions数?
可使用HttpSessionBindingListeners来跟踪
31、能设置一些代码在我一切的JSP文件之上运转?假如能够,能共享吗?
固然能够,能够为你的JSP文件界说一一般名:/jsp/=ybwen.genius.myPreprocessingServlet,而以/jsp/为前缀的文件可使用
32、对一个JSP页,假如多个客户端同时哀求它,同步大概吗?
在jsp:useBean语法中利用beanName有何优点?
beanName利用Beans.instantiate()初始化Bean
33、当我利用<jsp:forward>时,在扫瞄器的地点栏没有改动?
利用response.sendRedirect("newURL")
34、怎样转换JSP0.9版本的文件到JSP1.1?
可以使用sed/awk便可
35、利用JSP能设置HTMLFORM中输出域的核心,不必JavaScript?
没举措
36、利用JSP毗连到数据库毗连缓冲池的最好办法是甚么?
1。利用JDBC2。0中带有此服务的Driver
2.利用供应有此服务的Applicationserver
3.本人写
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 是一种为 Internet发展的计算机语言 是一种突破用户端机器环境和CPU J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 Java是一种计算机编程语言,拥有跨平台、面向对java 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
页:
[1]