第八步,运行
现在我们将在JBuilder4内运行容器来执行这个bean,选运行VisiBroker Smart Agent:
Tools | VisiBroker Smart Agent
设置运行容器的参数
Run | Configurations…
编辑<default>的设置.
选中 EJB 页.
点 OK, OK.
运行这个container 等待它初始化
右击Client.java,选中Run ,运行客户端。
在消息窗口可以看到这样的输出信息。
C:\JBuilder40\jdk1.3\bin\javaw –class… Using teller No: 1
.
如何调试
1. 设定断点
在TellerBean中找到这一行
return 1;
右击这一行,选择Toggle Breakpoint(或按快捷键F5),这一行将会加亮成红色。
2. 装入容器
点
,如果在消息框内出现
Borland Application Server Customer
........ done
Initializing JDB............. done
Initializing EJBs............. done
Container [ejbcontainer] is ready
EJB Container Statistics
========================
Time Fri Jun 08 21:51:22 CST 2001
Memory (used) 1304 Kb (max 1304 Kb)
Memory (total) 2292 Kb (max 2292 Kb)
Memory (free) 43.0%
------------------------
Home TellerHome
Total in memory 0
Total in use 0
========================
则可证明Container运行成功。
3. 运行客户端
用右键点击Client.java,选中Run,在调用远程方法时,将跟踪到EJB的内部,想想这个,真是爽呀!JBuilder4开发EJB,真的历害。
3. JSP
开发环境的配置
JBuilder提供了一个JSP开发的完整系统,包括一个用来创建JSP文件的JSP向导,及对JSP标记的CodeInsight(加亮显示,自动完成)技术,集成的Tomcat引擎(支Java Servlet 2.2 及JSP 1.1 ),可以使用户在集成环境下调试JSP代码。
系统无需特别的设置,便可以用于开发JSP。
实例操作步骤
1. 生成一个JSP工程
选择 File|Close Project关闭所有的打开的工程。
选择 File|New。
选中Object Gallery的New页中的 JavaServer Page. 这时将出现工程向导。
把Project Name改成SampleJSP.。
单击Finish按钮接受其缺省的配置。
这时工程就创建了,系统将弹出JSP向导。
在JSP向导的第一步中输入JspWithCountingBean,单击Finish。
JSP创建成功。
工程的主类是生成的JSP文件,下面两个文件将加入工程中:
JspWithCountingBean.jsp – 一个包含JSP标记的HTML文件。 JspWithCountingBeanBean.java – 一个JSP文件调用的Bean。
双击在工程窗格中的JspWithCountingBeanBean.java,在源程序中增加以下黑体部分代码。
package samplejsp;
public class JspWithCountingBeanBean {
/**initialize variable here*/
private int myCount=0;
private String sample = "Start value";
/**Access sample property*/
public String getSample() {
return sample;
}
/**Access sample property*/
public void setSample(String newValue) {
if (newValue!=null) {
sample = newValue;
}
}
/**New method for counting number of hits*/
public int count() {
return ++myCount;
}
}
双击在工程窗格中的JspWithCountingBean.jsp,在代吗中增加以下黑体部分代码。
<HTML>
<HEAD>
<jsp:useBean id="JspWithCountingBeanId" scope="session"
class="samplejsp.JspWithCountingBeanBean" />
<jsp:setProperty name="JspWithCountingBeanId" property="*" />
<TITLE>
JspWithCountingBean
</TITLE>
</HEAD>
<BODY>
<H1>
JBuilder Generated JSP
</H1>
<FORM method="post">
<BR>Enter new value: <INPUT NAME="sample"><BR>
<BR><BR>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Submit">
<INPUT TYPE="RESET" VALUE="Reset">
<BR>
Value of Bean property is: <jsp:getProperty name="JspWithCountingBeanId"
property="sample" />
<P>This page has been visited :<%= JspWithCountingBeanId.count() %> times.<BR>
</FORM>
</BODY>
</HTML>
2. 运行JSP
要运行JSP
右击JSP文件
选择 Web Run.
如果没有错误,Tomcat将启动,在内容面板中将出现Web View与Web View Source 页,Web View相当于一个浏览器,返回JSP运行的结果。如果运行成功将可以看到以下内容:
JSP in Web View
可以点击Web View 页中的Submit按钮,可以看到Page Counter在增加。Tomcat所有的输出信息/日志都显示在Message窗格中。
3. 调试JSP
要调试JSP,先设置一个断点,具体步骤如下:
在JspWithCountingBean.js中的源文件窗格中,找到下面这一行:
<P>This page has been visited :<%= JspWithCountingBeanId.count() %> times.<BR>.
点右键,在弹出菜单中选择Toggle Breakpoint。
右击JSP文件,选择Web Debug即可调试。
如何调试
如上节所提,上图就是调试的界面。
4. Servlet
开发环境的配置
无需特别配置,JBuilder4已经为我们配好了开发环境。
例操作步骤
1. 生成一个Servlet
在JBuilder内创建一个新工程
选择 File|Close 关闭其他工程
选择 File|New, 在Object Gallery.双击Servlet图标
这时将出现工程向导,将目录、工程名设为SampleServlet。
点Finish.
这时出现Servlet向导
创建一个新的servlet:
类名设为firstServlet。
选中doPost()方法(通常doGet()方法已被缺省选中了 )。
点Next.
让SHTML文件保持缺省设置,点Next。
点Add按钮加入一个Servlet Parameter,这样将在SHTML文件内生成一些这些参数的引用代码。请对应下表将参数设为下表的值:
点Finish,这时工程内将有一个firstServlet.java文件和一个firstServlet.shtml 文件。Servlet库也将自动载入工程的Library。
在firstServlet.java内加入以下代码,新再入的代码也被标为黑体。
package firstservlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class firstServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html";
/**Initialize global variables*/
int connections;
public void init(ServletConfig config) throws ServletException {
super.init(config);
connections=0;
/**Process the HTTP Get request*/
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<font color=\"green\">");
out.println("<p>The servlet has received a GET. This is
the reply.</p>");
out.println("</font>");
}
/**Process the HTTP Post request*/
public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
file://Name of User
String userName = "Hey you";
try {
userName = request.getParameter("UserName");
}
catch(Exception e) {
e.printStackTrace();
}
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>firstServlet
</title></head>");
out.println("<body>");
out.println("<p>The servlet has received a POST.
This is the reply.</p>");
out.println("<p>Thanks for visiting, ");
out.println(request.getParameter("UserName"));
out.println("<P>");
out.println("Hello World - my first Java Servlets program!");
out.println("<P>You are visitor number ");
connections++;
out.println(Integer.toString(connections));
out.println("</body></html>");
}
}
2. 编译
要编译serlet,先到设置运