JSP Servlet

1.Servlet定义

Java Servlet或简称Servlet是在某些Web或应用程序服务器上运行的程序。

它们充当来自Web浏览器或HTTP客户端的入站请求与HTTP服务器上存在的应用程序或数据库之间的中间层。

2.为什么使用Servlet

普通的JSP中,java代码和html代码在一个页面,进行分离

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    <%request.setAttribute("name","zhangsanfeng");%>

    <%=request.getAttribute("name")%>
  </body>
</html>

3.分离的优势

jsp负责显示,servlet负责控制 

4.如何分离(企业) 

(1)servlet(包名)/HelloServlet(servlet名)

首先在工程中在src路径下创建一个servlet(包名)/HelloServlet(servlet名),servlet是一个已有选项,不是普通文件夹,在里面创建一个文件,一般在Servlet前面添加名字,如HelloServlet

(2)web.xml

在web文件夹的WEB-INF中的web.xml中添加

<servlet>
    <servlet-name>Demo01Servlet</servlet-name>//文件名
    <servlet-class>servlet211016.Demo01Servlet</servlet-class>//包名.文件名
</servlet>
<servlet-mapping>
    <servlet-name>Demo01Servlet</servlet-name>//文件名
    <url-pattern>/Demo01Servlet</url-pattern>// /文件名
</servlet-mapping>

servlet中的name和mapping中的name保持一致

包名.文件名不能错

mapping中的路径可以自定义,一般都相同

(3)HelloServlet(servlet名)

将原来的两个方法,删去下面的那个,上面的方法名字改为service

在文件名中写入代码

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //绑定数据等代码
    request.setAttribute("name","dilireba");
    request.getRequestDispatcher("index.jsp").forward(request,response);
}

(4)jsp

在要运行的jsp文件中添加代码:$(name)

(5)运行:

运行tomcat:在浏览器输入http://localhost:8080/文件名

5.如何分离2.0(底层)

(1)servlet(包名)/HelloMyServlet(java文件名)

创建HelloMyServlet名字的java文件,implements Servlet,实现所有方法

Servlet生命周期:

1加载和实例化

2初始化:init() 【执行一次】

3服务:service() 【反复执行】

4销毁:destory() 【执行一次】

(2)web.xml

在web文件夹的WEB-INF中的web.xml中添加

<servlet>
    <servlet-name>HelloMyServlet</servlet-name>//文件名
    <servlet-class>servlet211016.HelloMyServlet</servlet-class>//包名.文件名
</servlet>
<servlet-mapping>
    <servlet-name>HelloMyServlet</servlet-name>//文件名
    <url-pattern>/HelloMyServlet</url-pattern>// /文件名
</servlet-mapping>

(3)运行:

运行tomcat:在浏览器输入http://localhost:8080/文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值