一.url匹配访问
1.servlet容器有特定的servlet url-pattern匹配规则,不同于通配符或者正则表达式,符号问题出错也会导致问题。
2.从Servlet2.5开始,一个servlet可以使用多个url-pattern规则,且具有优先顺序,若前面的匹配到,后面便不会访问。
3.当servlet容器接收到浏览器发起的一个url请求后,容器会用url减去当前应用的一些路径,以剩余的字符串作为servlet映射,假如url是http:// localhost:8080/spring/index,容器会将http:// localhost:8080/spring去掉,用剩下的/index部分拿来做servlet的映射匹配。
另外四种匹配方式:
1.精确匹配
例如("/index");("/login");
当浏览器请求 http:// localhost:8080/index 和 http:// localhost:8080/login 时,都可以匹配到该url
2.路径匹配
例如("/user/");
当浏览器请求http:// localhost:8080/user/save 和 http:// localhost:8080/user/update,都可以匹配到该url,即路径以/user/开始,后面的任意路径都可以被匹配。
3.扩展名匹配
例如(".htm")
当浏览器请求http:// localhost:8080/index.htm 和 http:// localhost:8080/test.htm,都可以匹配到该url,即路径以.htm结尾的路径都可以被匹配。
4.缺省匹配
例如("/")
以上都找不到servlet,就用这个默认的servlet
二.最基本的JSP页面的生成和访问方法
Web服务器使用JSP来创建网页的步骤:
1.客户端向服务器发送一个HTTP请求。
2.服务器识别是对JSP网页的请求后将其请求传递给Servlet引擎。
3.Servlet引擎将磁盘中的Jsp文件转化为Servlet类,并将其转化为Java代码
4.JSP引擎将Servlet类编译成可执行的文件并将最原始的请求发送给Servlet引擎
5.服务器通过调用Servlet引擎来执行Servlet可执行文件,Servlet会产生HTML格式的输出内嵌在HTTP Response中并将其上传给服务器
6.服务器将其以HTML的格式上传到客户端的浏览器中以静态页面的形式展现给用户。
三.继承HttpServlet类,编写用户需要的Serlvet
doGet,doPost,init,destroy,getServletConfig
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
System.out.println("HelloHttpServlet 的 doGet 方法");
}
/**
* doPost() 在 post 请求的时候调用
*
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
System.out.println("HelloHttpServlet 的 doPost 方法");
通过继承 HttpServlet 实现 Servlet 程序
一般在实际项目开发中, 都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。一般根据具体要求重写doGet和doPost方法。
init时为重写刷新,destroy为销毁删除。