1.Servlet是Java服务器端编程
不同于一般的Java应用程序,Servlet是运行在服务器上的,服务器有很多种,常用的服务器是Tomcat。
Servlet最大的特点是,没有main方法
Servlet类继承HttpServlet
2.首先编写Servlet类,然后配置web.xml
程序示例:
Servlet类:HelloWorldServlet.java
配置web.xml:部署描述符
3.重点是web.xml文件
用户的访问地址http://localhost:8080/test/HelloWorld。
其中test是配置tomcat时,在conf文件夹中更改的server.xml,设置的path=“ / test”
接着寻找名称为HelloWorld的资源
服务器接收到test请求时,会到server.xml中查找到path与/ test匹配,映射的物理路径是docBase中的路径,一直到WebRoot
当明确为HelloWorld资源时,转到web.xml文件。
把资源名 / HelloWorld与<servlet-mapping>中的<url-pattern>进行匹配:
url-pattern对应的servlet-name是HelloWorld,拿着这个HelloWorld去<servlet>中寻找<servlet-name>元素:
然后生成HelloWorldServlet对象,然后自动调用这个对象的doGet方法
如果更改<url-pattern>,那么访问地址就变了
4.可以将Servlet看作是:嵌套了html代码的Java类;
可以将JSP看作是嵌套了Java代码的html页面
5.用户登陆实现 程序示例
login.jsp:
LoginServlet.java
注意配置web.xml
6.通过浏览器地址栏直接输入网址的方式访问——get方式
通过form表单中的method属性能够设置通过get或者post方式访问
7.doPost方法
改写LoginServlet.java代码,重写doPost方法。首先选中doGet中的方法,使用Myeclipse提供的重构功能:Refector---Extract Method。
8.http协议使get方法和post方法的结果不同
get方法请求时,底层http的实现:GET/test/LoginServlet ? username=hello & password=world HTTP/1.1
post方法请求时,底层http的实现:POST/test/LoginServlet HTTP/1.1-------------Connection:Keep-Alive-------两个连续回车--------username=hello&password=word
post方法的请求参数没有附加到URL上,而是作为请求体的一部分
##通过浏览器进行文件上传时,一定要使用post方式,而决不能使用get方式##
9.使用Servlet生成静态页面的流程
10.双色球:不能重复的6个红球(1~33),篮球(1~16)