Servlet快速入门
Servlet的URI组成:{context root}+{servlet的url-pattern}
web.xml:
获取请求参数:
参数值 = request.getParameter(“参数的名称”);
将数据保存在共享容器(request)中:
request.setAttribute(“数据的名称”, “数据对象”);
将请求转发到另一URI:
request.getRequestDispatcher("/user/listuser.jsp").forward(request, response);
两个URI对应的资源对应的是同一请求;
跳转到另一URI:
response.sendRedirect("login.html");
两个URI对应的资源分别对应两个请求
注意:
Form表单中的action对应Servlet的URI
表单字段的name对应request.getParameter的参数
表单的中method的值对应Servlet中的doXXX方法
Servlet基础
Servlet是运行在Web应用服务器上的程序,用来接收来自HTTP客户端(浏览器)的HTTP请求,并将响应结果发送给HTTP客户端。它是Sun制定的一种规范,具体由Web应用服务器厂商实现。
Servlet的生命周期
Servlet的相关方法(生命周期方法)
init方法,只在第一次请求Servlet时被调用,以后不会再被调用;service方法,每次请求都会调用service方法,service方法会根据请求的动作(form表单的method属性值-get/post/put/delete/trace/options/head)调用相应的doXXX方法。Service方法已经被HttpServlet实现,我们自己写的Servlet都是从这个类继承而来,所以没有特殊原因不要重写service方法。doXXX方法,处理客户端请求的方法,我们的代码一般写在这些方法里。具体用哪个doXXX方法由form表单的method属性值确定。destroy方法,当Servlet实例被垃圾回收器GC销毁回收前会调用destroy方法,这个方法一般是用作释放Servlet使用的资源,没有特殊原因不要重写destroy方法。Servlet的主要特征
Servlet在Web应用服务器内只有一个实例(单实例),并且要被多个线程同时访问。为了数据安全,没有特殊原因,不要在Servlet里添加需要进行写操作的实例变量。如果因为业务需要,必须添加进行写操作的实例变量,切记要用同步关键字进行保护,但这样会严重影响Tomcat执行Servlet的效率(因为任意时刻只能有一个线程访问Servlet,其他线程只能排队等候)
JSP 简介
JSP全称Java Server Pages。是一种特殊的 servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
jsp和servlet区别
JSP(Java Server Pages):jsp 文件在容器中会转换成Servlet中执行。Servlet (Server Applet)用于交互式地浏览和修改数据,生成动态Web内容。jsp就是在html里面写java代码,servlet就是在java里面写html代码jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。jsp是对servlet的一种高级封装。本质还是servlet。 在第一次加载jsp页面的时候,会生成一个java文件,在虚拟机编译为.class文件,最后加载并初始化为一个servlet。jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。要使用servlet必须把它放在特定位置而且必须对其映射配置。
精品推荐:
一起学JAVA——JVM工作原理
一起学JAVA——性能优化
一起学JAVA——异常处理
编程技术笔记——搭建Redis5集群