1.配置javaBean路径
(以下是我个人的配置步骤)
-在Tomcat的安装目录F:\Apache Software Foundation\Tomcat 7.0下找到webapps目录。进入该目录后新建文件夹“myapps”。
-在myapps文件夹下新建文件夹“WEB-INF”,在“WEB-INF”下新建文件夹“classes”。
-将编译后的"*.class"文件放到“classes”文件夹下。
-编写jsp文件。放置在“F:\Apache Software Foundation\Tomcat 7.0\webapps\myapps”下。
以下为一简单例子:
Box.java
1 package test; 2 public class Box { 3 double length; 4 double width; 5 double height; 6 public Box(){ 7 length = 0; 8 width = 0; 9 height = 0; 10 } 11 public double getLength() { 12 return length; 13 } 14 public void setLength(double length) { 15 this.length = length; 16 } 17 public double getWidth() { 18 return width; 19 } 20 public void setWidth(double width) { 21 this.width = width; 22 } 23 public double getHeight() { 24 return height; 25 } 26 public void setHeight(double height) { 27 this.height = height; 28 } 29 public double volumn(){ 30 return length * width * height; 31 } 32 public double surfaceArea(){ 33 return (length * width + length * height + width * height) * 2; 34 } 35 36 }
请留意第一行的“package test;”,Box.java是在包test下的,所以编译后的字节码文件Box.class在Tomcat目录下的路径是
“F:\Apache Software Foundation\Tomcat 7.0\webapps\myapps\WEB-INF\classes\test\Box.class”。
这将直接影响到jsp文件的编写。
javaBean.jsp
1 <%@ page contentType="text/html;charset=utf-8" %> 2 <%@ page import="test.Box" %> 3 <HTML> 4 <body> 5 <jsp:useBean id="box" class="test.Box" scope="page"> 6 </jsp:useBean> 7 <% 8 box.setLength(10); 9 box.setWidth(11); 10 box.setHeight(12); 11 out.println("在JSP中使用JavaBean<br>"); 12 out.println("盒子的长度为:"+box.getLength()+"<br>"); 13 out.println("盒子的宽度为:"+box.getWidth()+"<br>"); 14 out.println("盒子的高度为:"+box.getHeight()+"<br>"); 15 out.println("盒子的容积为:"+box.volumn()+"<br>"); 16 out.println("盒子的表面积为:"+box.surfaceArea()+"<br>"); 17 %> 18 </body> 19 </HTML>
注意第2行和第5行代码中Box类的导入。
useBean命令中class为JavaBean类名,如果类之上还有包,那么这个参数就要用形如“包名.类名”的形式表示。
最后在浏览器中输入http://localhost:8080/myapps/javaBean.jsp即可看到程序执行结果。
2.servlet的路径配置
-首先在之前创建的F:\Apache Software Foundation\Tomcat 7.0\webapps\myapps\WEB-INF\classes文件夹中粘贴servlet的“.class”文件。
(下例中的字节码文件路径是F:\Apache Software Foundation\Tomcat 7.0\webapps\myapps\WEB-INF\classes\servlet\FirstServlet.class)
-接下来在F:\Apache Software Foundation\Tomcat 7.0\webapps\myapps\WEB-INF新建文本文档,输入下列内容后,保存为“web.xml”。
1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE web-app 3 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 4 "http://java.sun.com/dtd/web-app_2_3.dtd"> 5 <web-app> 6 <display-name>My Web Application</display-name> 7 <description> 8 A application for test. 9 </description> 10 <servlet> 11 <servlet-name>FirstServlet</servlet-name> 12 <display-name>FirstServlet</display-name> 13 <description>A test Servlet</description> 14 <servlet-class>servlet.FirstServlet</servlet-class> 15 </servlet> 16 <servlet-mapping> 17 <servlet-name>FirstServlet</servlet-name> 18 <url-pattern>/servlet/FirstServlet</url-pattern> 19 </servlet-mapping> 20 </web-app>
注意第11、14、17、18行为对应的servlet名和路径。
-配置好web.xml文件后,在浏览器输入http://localhost:8080/myapps/servlet/FirstServlet即可查看到程序结果。
附上FisrtServlet的源代码
注意包javax.servlet.*JDK中并没有自带,需要另外导入。我的是直接从Tomcat的lib目录下复制过来的。
1 package servlet; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletConfig; 7 import javax.servlet.ServletException; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRequest; 10 import javax.servlet.http.HttpServletResponse; 11 12 public class FirstServlet extends HttpServlet{ 13 14 @Override 15 protected void service(HttpServletRequest request, HttpServletResponse response) 16 throws ServletException, IOException { 17 // TODO Auto-generated method stub 18 response.setContentType("texr/html;charset=GB2312"); 19 PrintWriter out = response.getWriter(); 20 out.println("<HTML><BODY>"); 21 out.println("这是一个简单的servlet"); 22 out.println("客户端的IP地址是:"+request.getRemoteAddr()+"<br>"); 23 out.println("</BODY></HTML>"); 24 } 25 26 @Override 27 public void init(ServletConfig config) throws ServletException { 28 // TODO Auto-generated method stub 29 super.init(config); 30 } 31 32 }
———————————————————————————————————————————————————————————————————————————————
本文仅介绍了一些表面的处理,对于其内在的原理并无深入分析研究,要更进一步了解还需多多百度谷歌。