servlet总结:Servlet基础
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基础的更多相关文章
- Servlet一(web基础学习笔记二十)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- Servlet技术——Servlet基础
Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写,具有Java语言的优点.与Java程序的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Ser ...
- [Servlet] 初识Servlet
什么是Servlet? 定义 Servlet的全称是 Server Applet,顾名思义,就是用 Java 编写的服务器端程序. Servlet 是一个 Java Web开发标准,狭义的Servle ...
- 【Servlet】Servlet应用的get、post访问及和JSP的配合使用
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面. 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用 ...
- Servlet概述-servlet学习之旅(一)
Servlet概述 servlet是server+applet的缩写.applet是运行于客户端浏览器的java小程序,java诞生的时候,因为applet而闻名于世,但是现在已经没有多少热使用了,而 ...
- JavaWeb开发之详解Servlet及Servlet容器
自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...
- Servlet 和 Servlet容器
Servlet 很多同学可能跟我一样始终没有搞清楚到底什么是 Servlet,什么是 Servlet 容器.网上看了很多帖子,或许人家说的很清楚,但是自己的那个弯弯就是拐不过来. 想了很久说一下自己的 ...
- JAVA网络编程基本功之Servlet与Servlet容器
Servlet与Servlet容器关系 Servlet 比较这两个的区别, 就得先搞清楚Servlet 的含义, Servlet (/ˈsərvlit/ ) 翻译成中文就是小型应用程序或者小服务程序, ...
- httpServletRequest对象、filter、servlet、servlet容器、catalina、tomcat、以及web容器之间的关系
学习servlet的时候经常感到疑惑 HttpServletRequest是服务器创建的?还是servlet容器创建的? 过滤器是服务器创建的?还是servlet容器创建的? serlet容器和tom ...
- Servlet/JSP-01 Servlet及其生命周期
一.起步 1.新建一个类继承Servlet接口 public class HelloServlet implements Servlet { @Override public void destroy ...
随机推荐
- python3使用selenium + Chrome基础操作代码
selenium是Python的第三方库,使用前需要安装.但是如果你使用的是anaconda,就可以省略这个步骤,为啥?自带,任性. 安装命令: pip install selenium (一)使用s ...
- Java多线程(四)java中的Sleep方法
点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...
- NGINX Load Balancing - HTTP Load Balancer
This chapter describes how to use NGINX and NGINX Plus as a load balancer. Overview Load balancing a ...
- SQL FULL JOIN 关键字
SQL FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行. FULL JOIN 关键字语法 SELECT column_name(s) FROM table_n ...
- Oracle调整顾问(SQL Tuning Advisor 与 SQL Access Advisor
在Oracle数据库出现性能问题时,使用Oracle本身的工具包,给出合理的调优建议是比较省力的做法. tuning advisor 是对输入的sql set的执行计划进行优化accsee advis ...
- 【转】TCP和SOCKET关系
socket是TCP/IP协议的API TCP是数据的介质,Socket是TCP的介质. 查了一下RFC文档,Socket是RFC147,更新时间是1971年.TCP是RFC793,更新时间是19 ...
- ssm框架的整合搭建(三)
mybatis逆向工程工具类的使用---mybatis generator 项目结构 配置文件 <?xml version="1.0" encoding="UTF ...
- 编写第一个 Shell 脚本
什么是 Shell 脚本? 一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. 怎样编写一个 Sh ...
- day22 Pythonpython 本文xml模块
一.xml介绍 xml是实现不同语言或者程序直接进行数据交换的协议,跟json差不多,单json使用起来更简单.不过现在还有很多传统公司的接口主要是xml xml跟html都是标签语言 我们主要学习的 ...
- Maven 多模块引用版本的问题 java.lang.NoSuchMethodError
环境:Junit测试用例 java.lang.NoSuchMethodError 很明显的错误,肯定是jar版本的问题 前提 Maven 打包并没有这个的问题,估计是做了优化处理 原测试代码 @Run ...