servlet是服务器编程,服务器就是tomcat等
myeclipse中web项目路径意思:
src :java源文件
webroot:tomcat发布时候就是把webinfo复制到webapps下
WEB-INFO
classes:src文件夹中源码编译后的class文件
lib:引用的jar文件
原理:
myeclipse中web项目路径意思:
src :java源文件
webroot:tomcat发布时候就是把webinfo复制到webapps下
WEB-INFO
classes:src文件夹中源码编译后的class文件
lib:引用的jar文件
web.xml 站点配置文件
配置Servlet的HelloWorld:
在myeclipse中创建一个名称为helloworld的项目。
首先,src下写servlet 的src文件:
package cn.itcast.helloworld;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
process(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
process(req, resp);
}
@SuppressWarnings("deprecation")
public void process(HttpServletRequest req,HttpServletResponse resp) throws IOException{
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html><body>");
out.println("<h1> HEllO WORLD<h1>");
out.println("<h1>"+new Date().toLocaleString() +"</h1>");
out.println("</body></html>");
}
}
然后,到web.xml下配置servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>cn.itcast.helloworld.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
然后将此项目发布到tomcat中。
然后在浏览器中输入:http://localhost:8080/helloworld/myServlet
右击查看源文件,可以看到服务器给浏览器发送的内容:
<html><body>
<h1> HEllO WORLD<h1>
<h1>2013-10-2 17:20:13</h1>
</body></html>
原理:
tomcat中集成了servlet jar包,直接将servlet解析完成并发送给浏览器。
当浏览器输入相应的网址,浏览器会向tomcat发送一个get类型的request,tomcat会去web.xml中去寻找<Servlet-mapping>标签中寻找对应的标签内容(映射地址),当发现映射地址与标签内容一致时候,就通过<servlet-name>标签,去寻找<servlet-class>标签。将servlet class通过tomcat的servlet引擎解析成静态html文件后response给浏览器。