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>中的值试一试。


浙公网安备 33010602011771号