您的位置:首页 > 编程语言 > Java开发

java笔记——第一个servlet重点理解web应用和servlet

2015-01-17 00:08 525 查看
package testSource;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* 第一个servlet程序
* 在Eclipse中搭建tomcate环境,些好类,配置WEB-INF/web.xml文件 ,在浏览器中访问web.xml中配置的连接
* 详细配置如下:
* <servlet>
*<servlet-name>hello</servlet-name>
*<servlet-class>testSource.HelloWorld</servlet-class>
*</servlet>
*<servlet-mapping>
*<servlet-name>hello</servlet-name>
*<url-pattern>/helloWorld</url-pattern>
*</servlet-mapping>
*
*servlet原理简述:
*tomcate 会根据url-pattern去找相应的servlet,所以浏览器中输入的连接就应该是http://locahost:8080/WebBase/helloWorld
*因为/代表http://localhost:8080/WebBase/  根据连接找到对应的类
*tomcate 会自动调用servlet的doGet方法,当然了请求有至少八种方式在源码中就能看到(doDelete(),doTrace(),doPut()..)最常用的就
*doGet() doPost()  j
*ava 本身值提供了servlet的接口,tomcate 实现le 这些接口,在实现过程中自动分钟了HttpServletRequest,HttpServletResponse
*
*
*遇到问题:
*在重新doGet方法的时候需要去掉super.doGet(request,response);不然会抱405错误继续找原因
*发现HttpServlet会对采用的http协议进行判断,如果是HTTP/1.1 就返回405
*不知道为什么 难道其他方式不是用的HTTP/1.1?
*
*考了两行源码过来
*
*
*
*
* @author zhengwu
*
*/
public class HelloWorld extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//		super.doGet(request, response);
//		 String protocol = request.getProtocol();

//		 System.out.println(protocol);
//		让浏览器知道这返回的是html文本
response.setContentType("text/xml;charset=utf-8");
PrintWriter out=response.getWriter();
out.println("hello Servlet");
}

}
理解servlet原理.......其实我觉得试严重了,我只是在理解大概的处理逻辑是什么样的,至于背后真正的原理我想还差很远,至少要搞清楚http协议是真名一回事情,还有就是web服务器,浏览器之类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: