Servlet

* 继承HttpServlet后要重写doGet()、doPost()方法

String userName = req.getParameter("userName");
String password = req.getParameter("password");
PrintWriter pw = resp.getWriter();
if("admin".equals(userName)&&"123456".equals(password)){
//req.getRequestDispatcher("success.html").forward(req, resp);
    resp.sendRedirect("success.html");
}else{
//req.getRequestDispatcher("fail.html").forward(req, resp);
    resp.sendRedirect("fail.html");
} 

* web服务器
    * 1:tomcat.是开源的并且是用java语言来编写。它是免费的。用于中小型的项目。
    * 2:weblogic,webSphere,用于中大型,它是收费的。

* tomcat服务器的目录
    1. bin;放一些可执行程序。startup.bat 启动web服务器。
    2. conf:配置文件。server.xml:可以设置端口。web.xml配置文件。
    3. lib;第三方jar包。
    4. logs:日志文件。
    5. temp:临时文件。
    6. webapps:外界可以访问的目录。web工程就放在这个目录。
    7. work:缓存的。
* 启动web服务器。
* servlet:接收客户端的数据,并进行处理,再将响应的数据发送给客户端。它是用java程序,只是运行在服务器端。

* 写一个Servlet的步骤

     1. 创建一个类,继承HttpServlet类。如果没有找到HttpServlet类,可以去tomcat的lib目录下复制servlet-api.jar包。复制到webcontent 目录下的lib目录下,再选中servlet-api.jar包,右击build-path,再选择add to build-path
    2. 重写一些方法。
            1:构造方法。第一次请求的时候服务器会创建一个对象,只创建一次。
            2:init方法。做一些初始化工作。只执行一次。
            3:doGet方法:处理get请求,每请求一次,调用一次。
            4:doPost方法:处理post请求,每请求一次,调用一次。
            5:destroy方法:销毁Servlet.比如当web服务器停止的时候,会执行。
    3. 找到Webcontent目录的,WEB-INF目录的web.xml文件。在web-app标记里。添加以下内容

<servlet>
<servlet-name>Myservlet(可以随便取)</servlet-name>
<servlet-class>MyServlet(必须为包名.类名)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Myservlet(跟servlet的servlet-name名一致)</servlet-name>
<url-pattern>/myservlet(可以随便取,这个决定了地址的写法)</url-pattern>【这个要和html界面的action相同】
</servlet-mapping>

    4. 给服务器端发送请求。在浏览器地址栏上:http://ip地址:端口号/web工程名/myservlet(web.xml中的url-pattern怎么写的 就输入什么)

* <form action="login" name="form1" method="get">
* servlet和servlet-mapping可以一对多,为了让url调用servlet里面的多个方法
* 转发req.getRequestDispatcher("success.html").forward(req, resp);
* 重定向resp.sendRedirect("success.html");

*get和post请求
    1. 作用上。get主要是从服务器端取数据,如果客户端需要向服务器端发送数据,那么就用post    请求。
    2. 地址栏。get请求会将表单的数据追加在地址栏后面。post方式不会将表单数据追加在地址栏。
    3. 安全性。get请求会不安全的
    4. 传输的数据。get传输的数据比较小。post相对来说比get传输的数据要大一些。

* 转发与重定向的区别
    1. 转发地址栏没有变化。重定地址栏上有变化。
    2. 转发是服务器内部的变化,跟客户端是没有关系,重定向相当于2次请求。
    3. 转发可以让数据在页面之间进行共享。但是重定向不行。

posted @ 2016-03-04 21:23  嘉禾世兴  阅读(260)  评论(0编辑  收藏  举报