回 帖 发 新 帖 刷新版面

主题:jsp常见问题

1、如何混合使用Jsp和SSI #include?
在JSP中可以使用如下方式包含纯HTML:
<!--#include file="data.inc"-->
但是如果data.inc中包含JSP CODE ,我们可以使用:
<%@include file="data.inc"%>


2、如何执行一个线程安全的JSP?
只需增加如下指令
<%@ page isThreadSafe="false" %>


3、JSP如何处理HTML FORM中的数据?
通过内置的request对象即可,如下:
<% 
String item = request.getParameter("item");
int howMany = new Integer(request.getParameter("units")).intValue();
%>


4、在JSP如何包含一个静态文件?
静态包含如下:<%@ include file="copyright.html" %>
动态包含如下:<jsp:include page="copyright.html" flush="true"/>


5、在JSP中如何使用注释?
主要有四中方法:
1。<%-- 与 --%>
2。//
3。/**与**/
4。<!--与-->


6、在JSP中如何执行浏览重定向?
使用如下方式即可:response.sendRedirect("http://ybwen.home.chinaren.com/index.html");
也能物理地改变HTTP HEADER属性,如下:
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn="/newpath/index.html";
response.setHeader("Location",newLocn);
%>


7、如何防止在JSP或SERVLET中的输出不被BROWSER保存在CACHE中?
把如下脚本加入到JSP文件的开始即可:
<%
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>


8、在JSP中如何设置COOKIE?
COOKIE是作为HTTP HEADER的一部分被发送的,如下方法即可设置:
<%
Cookie mycookie = new Cookie("aName","aValue");
response.addCookie(mycookie);
%>


9、在JSP中如何删除一个COOKIE?
<%
Cookie killMyCookie = new Cookie("mycookie", null);
killMyCookie.setMaxAge(0);
killMyCookie.setPath("/");
response.addCookie(killMyCookie);
%>


10、在一个JSP的请求处理中如何停止JSP的执行
如下例:
<% 
if (request.getParameter("wen") != null) {
// do something
} else {
return;
}
%>


11、在JSP中如何定义方法
你可以定义方法,但是你不能直接访问JSP的内置对象,而是通过参数的方法传递。如下:
<%! 
public String howBadFrom(HttpServletRequest req) {
HttpSession ses = req.getSession();
... 
return req.getRemoteHost();
}
%>
<%
out.print("in general,lao lee is not baddie ");
%>
<%= howBadFrom(request) %>


12、如果BROWSER已关闭了COOKIES,在JSP中我如何打开SESSION来跟踪
使用URL重写即可,如下:
hello1.jsp
<%@ page session="true" %>
<%
Integer num = new Integer(100);
session.putValue("num",num);
String url =response.encodeURL("hello2.jsp");
%>
<a href=''<%=url%>''>hello2.jsp</a>

hello2.jsp
<%@ page session="true" %>
<%
Integer i= (Integer )session.getValue("num");
out.println("Num value in session is "+i.intValue());
%>


13、在JSP中能发送EMAIL吗
可以使用SUN的专用包:sun.net.smtp包。如下脚本使用SmtpClient类发送EMAIL。
<%@ page import="sun.net.smtp.SmtpClient, java.io.*" %>
<%
String from="ybwen@sina.com";
String to="hewenjun@yeah.net, lei@who.com.cn";
try{
SmtpClient client = new SmtpClient("mail.xxxxx.xxx");
client.from(from);
client.to(to);
PrintStream message = client.startMessage();
message.println("To: " + to);
message.println("Subject: Sending email from JSP!");
message.println("This was sent from a JSP page!");
message.println();
message.println("Cool! :-)");
message.println();
message.println("Good Boy");
message.println("I''m in genius.com");
message.println();
client.closeServer();
}
catch (IOException e){ 
System.out.println("ERROR SENDING EMAIL:"+e);
}
%>


14、在SERVLET中我能调用一个JSP错误页吗
当然没问题,如下展示了如何在一个SERVLET控制逻辑单元内调用一个JSP错误页面。
protected void sendErrorRedirect(HttpServletRequest request,
HttpServletResponse response, String errorPageURL, 
Throwable e)
throws ServletException, IOException {
request.setAttribute ("javax.servlet.jsp.jspException", e);
getServletConfig().getServletContext().
getRequestDispatcher(errorPageURL).forward(request, 
response);
}

public void doPost(HttpServletRequest request,HttpServletResponse response) {
try {
// do something
} catch (Exception ex) {
try {
sendErrorRedirect(request,response,"/jsp/MyErrorPage.jsp",ex);
} catch (Exception e) {
e.printStackTrace();
}
}
}


15、JSP和APPLET如何通讯 
JSP如何与EJB SessionBean通讯
下面的代码段作了很好的示范
<%@ page import="javax.naming.*, javax.rmi.PortableRemoteObject,
foo.AccountHome, foo.Account" %>
<%! 
//定义一个对SessionBeanHome接口实例的全局引用
AccountHome accHome=null;

public void jspInit() { 
//获得Home接口实例
InitialContext cntxt = new InitialContext( );
Object ref= cntxt.lookup("java:comp/env/ejb/AccountEJB");
accHome = (AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);
}
%>
<%
//实例化SessionBean
Account acct = accHome.create();
//调用远程方法
acct.doWhatever(...);
// 如此等等
%>


16、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中?
可以定义一个简单的函数来达到目的,如下:
<%!
String blanknull(String s) {
return (s == null) ? "" : s;
}
%>

然后在JSP的FORM中,可以这样使用
<input type="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:getProperty name="wenBean" property="someProperty"/>
<jsp:setProperty name="wenBean" property="someProperty" value="someValue"/>

19、使用JSP如何获得客户浏览器的信息?
使用request.getHeader(String)即可


20、能象调用子程序一样调用JSP吗?
当然可以,用<jsp:include page="relativeURL" flush="true"/>


21、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS?


<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别?
前一个为静态包含,而后一个为动态包含


22、JSP的缺点?
1。对JAVA程序进行调试没有好东东
2。因大多数的servlet引擎不支持connection pooling
3。Servlet引擎没有标准
4。JSP与其它脚本语言的交互


23、JSP能进行递归调用吗?
当然可以,如对form的提交给本页


34、如何实现JSP的国际化?
为各种版本提供resource bundles属性文件即可

25、在JSP中如何写文本文件?
使用PrintWriter对象,如:
<%@ page import="java.io.*" %>
<%
String str = "print me";
String nameOfTextFile = "/usr/anil/imp.txt";
try { 
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(str);
pw.close();
} catch(IOException e) {
out.println(e.getMessage());
}
%>


26、如何在JSP中包括绝对路径文件?
使用URLConnection即可。


27、在servlets和JSP之间能共享session对象吗?
当然可以,
HttpSession session = 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、如何转换JSP 0.9版本的文件到JSP1.1?
可使用sed/awk即可


35、使用JSP能设置HTML FORM中输入域的焦点,不用javascript?
没办法


36、使用JSP连接到数据库连接缓冲池的最好方法是什么?
1。使用JDBC2。0中带有此服务的Driver
2.使用提供有此服务的Application server
3.自己写

回复列表 (共11个回复)

沙发

坐个沙发~

板凳

学了几个月的JSP了,感觉自己还是欠缺很多呢!!
顶一个

3 楼

低价提供计算机专业视频教程,所有教程由业内名家讲解,
物超所值,保证所有视频高清晰格式,邮政特快全国三天内送到你手中.
联系方式:手机:13576145612(手机联系佳)  QQ:108410943 
E-mail:ncncldjjg@126.com
1、Oracle9iOCP(Oracle认证专家DBA)视频教程(23CD)
2、SQL语言、数据挖掘、SQLServer2000视频教程(6CD)
3、计算机网络原理视频教程(4CD)
4、计算机实用组网技术视频教程(3CD)
5、MCSE(微软认证系统工程师)认证视频教程(11CD)
6、windows2003即学即会视频教程(6CD)
7、J2EE Web程序开发定向班/Java就业班视频教程
   (java基础jsp核心技术UML设计)(13CD)
8、赛迪网校J2EE基础高级案例分析视频教程(9CD)
9、马士兵J2SE入门与精通(含坦克大战、BBS实例)视频教程(6CD)
10、孙鑫java语言深入详解视频教程(12CD)
11、张效详java技术从入门到精通视频教程(21CD)
12、张效详javascript全接触视频教程(13CD)
13、code365网站源程序(9CD)
14、unix原理视频教程(3CD)
15、Linux软件开发工程师(C语言)视频教程(4CD)
16、Linux配置、管理、优化实战工程师视频教程(8CD)
17、Linux内核编程视频教程(11CD)
18、C语言详解视频教程(2CD)
19、孙鑫VC++6.0开发技术术详解视频教程(6CD)
20、ASP.NET中文视频教程(3CD)
21、洪恩C#入门多媒体教程(1CD)
22、XML技术视频教程(2CD)
23、吉大操作系统视频教程(3CD)
24、吉大网络技术基础视频教程(2CD)
25、吉大数据结构视频教程(5CD)
26、清华大学计算机专业多媒体教程(数据结构、汇编、编译原理等)(13CD)
27、大学数学[离散数学线性代数概率与数理统计微积分]视频教程(22CD)
28、LearnKey Asp.Net (老外用英语讲课)(13CD)
29、LearnKey Asp.Net Webservice(老外用英语讲课)(5CD)
30、AppDev Asp.Net2.0 UsingC# (老外用英语讲课)(1CD)
31、APPDev .Net Framework(老外用英语讲课)(2CD)
32、林清安pro/e2001(野火版)视频教程(18CD)
33、深圳大学3D设计视频教程(4CD)
34、3DMAX建模视频教程(老外用英语讲课)(6CD)
35、3DMAX纹理与贴图材质灯光视频教程(老外用英语讲课)(5CD)
36、3DMAX格式500个常用模型库(4CD)
37、lightscape基础入门视频教程(2CD)
38、聚光制造(lightscape3.2入门与精通视频教程)(4CD)
39、coreldraw12中文版入门与精通swf格式视频教程(2CD)

4 楼

顶一个,给出了很好的总结!

5 楼

谢谢楼主的劳动!

6 楼

不错,顶

7 楼

程序员总结开发的java jsp学习资料、实战项目源程序代码

资料:

1.JSP编程技巧集锦139篇                      
2.ASP编程技巧集锦(一个问题一段代码)             
3.JavaScript编程技巧集锦(一个问题一段代码)  

java jsp实战源程序代码:
                                 
4. 办公自动化管理(OA)系统(web版 全套源码 安装即用)
5. 企业产供销管理(ERP)系统(web版 全套源码 安装即用)
6. 网上(在线)书店管理系统(web版 全套源码 安装即用)
7. 学生成绩管理系统(web版 全套源码 安装即用)
8. 新闻发布管理系统(web版 全套源码 安装即用)
9. 学生选课管理系统(web版 全套源码 安装即用)
10.超市信息管理系统(web版 全套源码 安装即用)
11.客户关系管理(CRM)系统(web版 全套源码 安装即用)
12.宾馆酒店管理系统(web版 全套源码 安装即用)
13.学生信息管理系统(web版 全套源码 安装即用)

联系方式   
     
e_mail:fzlotuscn@yahoo.com.cn    QQ:595563946 

掏宝地址: http://shop34556665.taobao.com

8 楼

不错!学到东西了··顶一个!楼主辛苦了··

9 楼


  推荐给Web程序员
 
  [url=http://www.888RMB.com.cn] www.888RMB.COM.CN[/url] 为中国赚钱网站。 提供网络赚钱教程、络赚赚钱经验、络赚赚钱秘籍、络赚赚钱项目、络赚赚钱产品, 为想赚钱的人群提供一个赚钱的网络平台!

10 楼

怎么这么多人做广告啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册