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. python3使用selenium + Chrome基础操作代码

    selenium是Python的第三方库,使用前需要安装.但是如果你使用的是anaconda,就可以省略这个步骤,为啥?自带,任性. 安装命令: pip install selenium (一)使用s ...

  2. Java多线程(四)java中的Sleep方法

    点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...

  3. NGINX Load Balancing - HTTP Load Balancer

    This chapter describes how to use NGINX and NGINX Plus as a load balancer. Overview Load balancing a ...

  4. SQL FULL JOIN 关键字

    SQL FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行. FULL JOIN 关键字语法 SELECT column_name(s) FROM table_n ...

  5. Oracle调整顾问(SQL Tuning Advisor 与 SQL Access Advisor

    在Oracle数据库出现性能问题时,使用Oracle本身的工具包,给出合理的调优建议是比较省力的做法. tuning advisor 是对输入的sql set的执行计划进行优化accsee advis ...

  6. 【转】TCP和SOCKET关系

    socket是TCP/IP协议的API   TCP是数据的介质,Socket是TCP的介质. 查了一下RFC文档,Socket是RFC147,更新时间是1971年.TCP是RFC793,更新时间是19 ...

  7. ssm框架的整合搭建(三)

    mybatis逆向工程工具类的使用---mybatis  generator 项目结构 配置文件 <?xml version="1.0" encoding="UTF ...

  8. 编写第一个 Shell 脚本

    什么是 Shell 脚本? 一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. 怎样编写一个 Sh ...

  9. day22 Pythonpython 本文xml模块

    一.xml介绍 xml是实现不同语言或者程序直接进行数据交换的协议,跟json差不多,单json使用起来更简单.不过现在还有很多传统公司的接口主要是xml xml跟html都是标签语言 我们主要学习的 ...

  10. Maven 多模块引用版本的问题 java.lang.NoSuchMethodError

    环境:Junit测试用例 java.lang.NoSuchMethodError 很明显的错误,肯定是jar版本的问题 前提 Maven 打包并没有这个的问题,估计是做了优化处理 原测试代码 @Run ...