jsp&servlet学习笔记

第一次写jsp和servlet,主要是熟悉配置,详细的命令放在以后慢慢学习。这里不用eclipse或myeclipse,纯手工的完成jsp和servlet的配置。

看的是李刚的javaee的书,觉得不错。不过这本书在jsp和servlet方面没有举很多例子,还是参考一些其他书的例子效果会好些。

 

默认已经完成了tomcat和jdk的安装。

废话不说,先说一下在tomcat中的目录。先在%TOMCAT_HOME%下找到webapp这个文件夹,新建一个文件夹命名为Webdemo。这个文件夹名可以任意命名。在Webdemo中建立一个WEB-INF文件,这个文件是不能随便命名的,必须是WEB-INF,龟腚^_^。在WEB-INF中新建两个文件夹和一个文件,classes和lib,web.xml。在dos中切换到Webdemo下tree一下如下图

这个web.xml是java的web应用的配置文件,包括配置jsp,servlet,过滤器等都在这个文件中。这个文件可已从webapp下其他的示例web应用拷贝过来,再删掉一些东西,最终内容如下

<?xml version="1.0" encoding="GBK"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">
</web-app>

现在可以开始写第一个jsp程序了。在Webdemo目录下新建FirstJSP.jsp,内容如下

<%@ page contentType="text/html;charset=GBK" language="java" errorPage="" %>
<html>
    <head>
        <title>First JSP</title>
    </head>
    <body>
        The First JSP!!
    </body>
</html

然后启动tomcat出现下面这一行,意思是成功的提交Webdemo这个java web应用,就说明成功了

在地址栏中输入http://localhost:8080/Webdemo/FirstJSP.jsp得到

到这里完成了第一个jsp程序,下面写第一个servlet程序。

 

我比较习惯吧servlet所有的原文件放到WEB-INF目录下新建的src目录,便于管理。

在%TOMCAT_HOMT%\webapps\Webdemo\WEB-INF\src下新建一个FirstServlet.java文件,内容如下

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class FirstServlet extends HttpServlet{
    public FirstServlet(){
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException{

        PrintWriter out = response.getWriter();
        out.println("<html><head><title>FirstServlet</title></head>");
        out.println("<body><h1>The First Servlet!!</h1></body>");
        out.println("</html>");
        out.close();
    }
}

注意,这是个java程序,也就是说文件名要和公共类名相同哦。

servlet程序要继承HttpServlet类,并在类中重写doGet,doPost等程序。这几个函数的原型不能改变,只能修改函数实现的功能。

下一步是编译。这一步可能会出现问题,因为一般jdk是不包含一些编译servlet程序所必须的java包的,所以要把这些包加到环境变量中去。将%TOMCAT_HOMT%\lib\servlet-api.jar加入到classpath中,如果没有classpath则新建classpath=.;%TOMCAT_HOMT%\lib\servlet-api.jar。完成这些在从dos中转到src目录中,对FirstServlet.java进行编译,javac FirstServlet.java。生成FirstServlet.class文件。将生成的FirstServlet.class文件拷贝到%TOMCAT_HOME%/webapps/Webdome/WEB-INF/classes目录下。

现在已经完成了servlet程序的编写,需要把servlet程序配置到java web应用中去。编辑WEB-INF下的web.xml,在<web-app>节点中增加两个节点<servlet>节点和<servlet-mapping>节点。最终生成的web.xml文件如下

<?xml version="1.0" encoding="GBK"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javee/web-app_3_0.xsd"
    version="3.0">

    <servlet>
        <servlet-name>FirstServlet</servlet-name>
        <servlet-class>FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FirstServlet</servlet-name>
        <url-pattern>/First</url-pattern>
    </servlet-mapping>

</web-app>

其中servlet-name指的是public class的名字,而sevlet-class指的是对应的生成的.class文件。url-pattern是可以自己定义的,内容就是对应目录下的url,比如我的就是http://localhost:8080/Webdemo/First。注意,url是localhost:8080/加上相对于webapps的相对位置。额,说不太清,可以修改下<url-pattern>中的值试一试。

posted @ 2013-04-22 22:43  kunzeal  Views(315)  Comments(0)    收藏  举报