Servlet基础

1.手工编写第一个Servlet

⑴继承HttpServlet

⑵重写doGet()或者doPost()方法

⑶在web.xml中注册Servlet

2.使用eclipse编写第一个Servlet

⑴src->new->Servlet

⑵重写doGet()或者doPost()方法

⑶部署运行

3.web.xml文档配置

<servlet>

<servlet-name>HelloServlet</servlet-name>//servlet名字

<servlet-class>servlet.HelloServlet</servlet-class>.//要访问的servlet所在的类,包括包名

</servlet>

<servlet>

<servlet-name>HelloServlet</servlet-name>//和上边的servlet名字一一对应

<url-pattern>/servlet/HelloServlet< /url-pattern >//名字叫HelloServlet的servlet的访问路径,和请求的路径地址一一对应(其中/表示当前web工程的根目录)

</servlet>

4.web服务器在于客户端交互时Servlet的工作过程

小知识点

*超链接访问的就是get请求

*PrintWrter out = response.getWriter();//PrintWriter是浏览器输出对象

response.setContentType(“text/html;charset=utf-8”);//指定输出的文件类型,使得下面的out.println()中的html代码可用;指定字符集为utf-8。

 

5.get方式请求HelloServlet

6.让doPost()执行与doGet()相同的操作

7.servlet的生命周期

首先创建servlet实例,先执行构造方法,再执行初始化方法,再执行doGet()方法,关闭服务器之后执行destory()方法。

8.servlet在tomcat服务器启动时就被装载

方法:在web.xml中的<servlet></servlet>标签最后加上<load-on-startup>1</ load-on-startup >中间的数字越小优先级越高。

9.servlet与JSP九大内置对象的关系

10.把注册信息提交到servlet中

*定义birthday为Date类型,而表单传过来的为String类型,需要用

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-mm-dd”);

Date birthday = sdf.parse(request.getParameter(“birthday”));

*定义favorite为字符串数组,为了获取多个复选按钮的值,表单传过来的是一个字符串数组,所以获取需要用String[] favorites = request. getParameter(“favorite”)

*定义boolean类型,如flag,表单传过来的是String类型,直接用String类型接收,然后再if(flag.equals(“true”)

{user.setFlag(true)}

Else

{ user.setFlag(false)}

*注册填写完之后的跳转界面,当把信息都存储到user对象中后,把user对象保存到session中,用request.getSession().setAttribute(“regUser”,user);再之后的跳转用request.getRequestDispatcher(跳转.jsp);

*跳转的页面:用<jsp:useBean id=”regUser”class=”entity.Users”scope=”session”>

JavaBean中的property属性用来获取属性值<jsp:getproperty name=”regUser” property=“username”>

11.servlet路径跳转问题

⑴相对路径:

例:<a href=”servlet/HelloServlet”></a>

*当使用超链接方式访问的时候,servlet前如果加/,意思是服务器的根目录,而不是项目的根目录,即Http://localhost:8080/servlet/HelloServlet

*而web.xml文档中,<url-pattern>/servlet/HelloServlet</ url-pattern >中的/表示的是项目的根目录。

⑵绝对路径:可以采用request.getContextPath()的方式访问,它表示项目的根目录。

例:<a href=”<%= request.getContextPath() %>/servlet/HelloServlet”></a>

⑶当由servlet跳转到jsp页面时

①    请求重定向方式

request.sendRedirect(request.getContextPath()+”/test.jsp”)

②    服务器内部跳转

request.getRequestDispatcher(”/test.jsp”).forward(request.response);//此时的/代表项目的根目录

12.MVC模式

EIS为数据库

13.模型1

14.模型2-MVC思想的体现

 

 

servlet总结:Servlet基础的更多相关文章

  1. Servlet一(web基础学习笔记二十)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  2. Servlet技术——Servlet基础

    Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写,具有Java语言的优点.与Java程序的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Ser ...

  3. [Servlet] 初识Servlet

    什么是Servlet? 定义 Servlet的全称是 Server Applet,顾名思义,就是用 Java 编写的服务器端程序. Servlet 是一个 Java Web开发标准,狭义的Servle ...

  4. 【Servlet】Servlet应用的get、post访问及和JSP的配合使用

    Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面. 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用 ...

  5. Servlet概述-servlet学习之旅(一)

    Servlet概述 servlet是server+applet的缩写.applet是运行于客户端浏览器的java小程序,java诞生的时候,因为applet而闻名于世,但是现在已经没有多少热使用了,而 ...

  6. JavaWeb开发之详解Servlet及Servlet容器

    自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...

  7. Servlet 和 Servlet容器

    Servlet 很多同学可能跟我一样始终没有搞清楚到底什么是 Servlet,什么是 Servlet 容器.网上看了很多帖子,或许人家说的很清楚,但是自己的那个弯弯就是拐不过来. 想了很久说一下自己的 ...

  8. JAVA网络编程基本功之Servlet与Servlet容器

    Servlet与Servlet容器关系 Servlet 比较这两个的区别, 就得先搞清楚Servlet 的含义, Servlet (/ˈsərvlit/ ) 翻译成中文就是小型应用程序或者小服务程序, ...

  9. httpServletRequest对象、filter、servlet、servlet容器、catalina、tomcat、以及web容器之间的关系

    学习servlet的时候经常感到疑惑 HttpServletRequest是服务器创建的?还是servlet容器创建的? 过滤器是服务器创建的?还是servlet容器创建的? serlet容器和tom ...

  10. Servlet/JSP-01 Servlet及其生命周期

    一.起步 1.新建一个类继承Servlet接口 public class HelloServlet implements Servlet { @Override public void destroy ...

随机推荐

  1. python 黏包现象及其解决方案

    一.数据缓冲区 缓冲区(buffer),它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的 ...

  2. Nginx使用教程(六):使用Nginx缓存之FastCGI缓存

    启用FastCGI缓存 <br\>编辑必须启用缓存的虚拟主机配置文件. nano /etc/nginx/sites-enabled/vhost 将以下行添加到server{}指令之外的文件 ...

  3. 寒假训练——搜索——C - Robot

    The Robot Moving Institute is using a robot in their local store to transport different items. Of co ...

  4. Centos 7 安装JAVA环境 jdk1.8

    在Linux环境(Centos 7)安装jdk1.8,有以下两种方式 方式一.安装openjdk #   yum install java-1.8.0-openjdk* -y 方式二.使用wget下载 ...

  5. linux 压缩文件或文件夹

    zip demo.mp4.zip demo.mp4 zip -r videos.zip videos # 压缩文件夹需要加-r

  6. [tool] google搜索的正确使用姿势(待补全)

    第一,也是非常重要的前提,请一定要能FQ.如果这条没有解决,没有往下的必要 现在我假设你已经能FQ了,个人推荐使用搜索引擎的顺序: Google>微软bing国际搜索>百度 (百度总能给你 ...

  7. python实现命令行解析的argparse的使用

    参考https://docs.python.org/3.6/library/argparse.html argparse模块使编写用户友好的命令行界面变得很容易.程序定义了它需要什么参数,argpar ...

  8. Egg入门学习(一)

    一:什么是Egg? 它能做什么?Egg.js是nodejs的一个框架,它是基于koa框架的基础之上的上层框架,它继承了koa的,它可以帮助开发人员提高开发效率和维护成本.Egg约定了一些规则,在开发中 ...

  9. 认识与防御XSS攻击

    什么是xss攻击? XSS,即(Cross Site Scripting)中文名称为“跨站脚本攻击”.XSS的重点不在于跨站攻击而在于脚本攻击.攻击者可以利用 web应用的漏洞或缺陷之处,向页面注入恶 ...

  10. C语言中指针变量的加减运算

    1.指针变量中存放的是地址值,也就是一个数字地址,例如某指针变量中的值是0x20000000,表示表示此指针变量存放的是内存中位于0x20000000地方的内存地址.指针变量可以加减,但是只能与整型数 ...