分享

JSP基础环境搭建

 小猪窝969 2015-02-04

JSP是运行在web服务器下的,通常的jsp运行环境是tomcat,这里也是记录了jsp在tomcat的存在方式和基本环境的搭建。

1、web服务器中的jsp目录结构:
tomcat服务器下/webapps目录是固定用来存放jsp页面文件的
tomcat服务器下/lib目录存放servlet等组件必须的类库文件;还有像数据库驱动等
tomcat服务器下/conf目录下存放web服务器的配置文件,如:server.xml配置端口、默认主页等
tomcat服务器下/bin目录是启动、停止web服务器的
tomcat服务器下/logs目录存放web服务器运行过程中的日志信息,如:启动日志,服务器错误日志
tomcat服务器下/work目录下是用来存放JSP页面中间文件的
tomcat服务器下/temp目录是web服务器运行时用来存放的临时文件
上述目录,通常我们常用到前4个,最常用到的就是webapps目录,因为程序文件都在这里面

2、web服务器tomcat安装与启动:
java官网下载j2ee的jdk安装包,默认安装后配置classpath,path路径
去官方网站下载tomcat最新版,默认安装或者直接解压。完成后进入安装目录的/bin目录下,启动startup.bat
浏览器测试tomcat,http://localhost:8080,如果有默认的tomcat页面显示,则安装成功

3、搭建自定义的jsp目录:
/webapps下新建一个jsp目录,如:mytest目录;在mytest目录下新建WEB-INF目录,WEB-INF目录新建web.xml文件,在WEB-INF目录下新建classes、lib等目录
至此一个初始的jsp目录结构如下:
/webapps/mytest/                ##存放jsp文件,tomcat在运行时有请时加载
/webapps/mytest/WEB-INF/        ##存放mytest目录的配置信息
/webapps/mytest/WEB-INF/classes/  ##存放mytest目录下用到的servlet、javabean等class文件,tomcat在启动时加载
/webapps/mytest/WEB-INF/web.xml ##配置该jsp目录如何被web服务器使用,tomcat在启动时加载
/webapps/mytest/WEB-INF/lib/   ##存放用到的jar类库文件

4、测试第一个jsp页面程序:
/webapps/mytest/下新建一个test.jsp文件,内容如下:

  1. <html><body><center>  
  2. Now time is: <%=new java.util.Date()%>  
  3. </center></body></html>  


配置/webapps/mytest/WEB-INF/web.xml文件,修改内容如下:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>  
  2. <web-app xmlns="http://java./xml/ns/javaee"  
  3.   xmlns:xsi="http://www./2001/XMLSchema-instance"  
  4.   xsi:schemaLocation="http://java./xml/ns/javaee  
  5.                       http://java./xml/ns/javaee/web-app_3_0.xsd"  
  6.   version="3.0">  
  7.   
  8.     <display-name>My Web Application</display-name>  
  9.     <description>  
  10.         A application for test.  
  11.     </description>  
  12.   
  13. </web-app>  


重启tomcat服务器,浏览器输入http://localhost:8080/mytest/test.jsp,如果出现正确的时间信息,则测试成功

JSP基础环境搭建完成后,还要测试servlet、javabean的工作是否正常,主要就是配置如下:


servlet测试
1、编写servlet文件:
/mytest/WEB-INF/classes/目录下创建一个Test.java文件,内容如下:
  1. import java.io.IOException;  
  2. import java.io.PrintWriter;  
  3. import javax.servlet.ServletException;  
  4. import javax.servlet.http.HttpServlet;  
  5. import javax.servlet.http.HttpServletRequest;  
  6. import javax.servlet.http.HttpServletResponse;  
  7. public class Test extends HttpServlet  
  8. {  
  9.     protected void doGet(HttpServletRequest request, HttpServletResponse response)  
  10.     throws ServletException, IOException  
  11.     {  
  12.         PrintWriter ut=response.getWriter();  
  13.         out.println("<html><body><h1>This is a servlet test.</h1></body></html>");  
  14.         out.flush();  
  15.     }  
  16. }  

2、编译之,生成Test.class文件

3、配置/mytest/WEB-INF/web.xml文件,在<webapp>节点之间添加如下内容:

  1.   <servlet>  
  2.     <servlet-name>test</servlet-name>  
  3.     <display-name>Test</display-name>  
  4.     <description>A Test Servlet</description>  
  5.     <servlet-class>Test</servlet-class>  
  6. </servlet>  
  7.   
  8. <servlet-mapping>  
  9.     <servlet-name>test</servlet-name>  
  10.     <url-pattern>/test</url-pattern>  
  11. </servlet-mapping>  


4、重启tomcat,访问http://localhost:8080/mytest/test地址,如果出现提示This is a servlet test.文字,则servlet测试成功

注:如果编译出错为javax.servlet.XXX,则需要配置环境变量,在classpath中添加路径%tomcat%\lib\servlet-api.jar[tomcat7],或%tomcat%\lib\servlet.jar,并且把这个文件复制到%jdk%\jre\lib\ext\目录下

javabean测试:
1、在/mytest/WEB-INF/classes/目录下创建一个 TestBean.java文件,内容如下:
  1. public class TestBean  
  2. {  
  3.     private String name = null;  
  4.     public TestBean(String strName_p)  
  5.     {  
  6.         this.name=strName_p;  
  7.     }  
  8.     public void setName(String strName_p)  
  9.     {  
  10.         this.name=strName_p;  
  11.     }  
  12.     public String getName()  
  13.     {  
  14.         return this.name;  
  15.     }  
  16. }  

2、编译之,生成TestBean.class文件
3、在/mytest/下创建 TestBean.jsp文件,内容如下:
  1. <%@ page import="test.TestBean" %>  
  2. <html>  
  3.     <body>  
  4.         <center>  
  5.             <%  
  6.                 TestBean testBean=new TestBean("This is a test java bean.");  
  7.             %>  
  8.             Java bean name is: <%=testBean.getName()%>  
  9.         </center>  
  10.     </body>  
  11. </html>  

4、重启tomcat,访问http://localhost:8080/mytest/TestBean.jsp,如果显示文字This is a test java bean.则测试成功。

总结:
1、jsp文件的访问其实web服务器接收到请求后再映射到jsp的servlet程序,有这个servlet来把jsp文件翻译成对应.java文件【其实是另一个servlet】,然后编译这个.java文件,再执行对应的.class文件
2、servlet文件的访问,先是web服务器接收到请求后在对应的web.xml内查找servlet-map节点映射,查找到后再根据对应的servlet节点找到servlet的实际文件路径【就是经过编译的自定义servlet】,然后就去执行这个.class文件
3、javabean的访问有点像前2者的综合,也就是jsp文件先被翻译成.java-》.class文件,然后在执行.class的时候又会查找并映射到对应的servlet文件,所以javabean的页面执行时相对会慢点。
【注:javabean生成的文件除可以被jsp调用,还可以被servlet,其它javabean调用,类似于windows中的组件的概念】

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多