Servlet&JSP(一)

一切的前提:容器

如果Web服务器应用(如Apache)得到一个指向servlet的请求(而不是其他请求,比如若是请求一个普通的静态HTML页面则不需经过容器),此时,服务器会把这个请求交给容器,然后由容器来调度servlet。

如果没有容器,你不仅需要写servlet,还需要实现安全,对日志之类的过滤,JSP支持,内存管理还有创建与服务器的socket连接…等等等等

容器有不止如下的功能:
1、通信支持:让serlvet与Web服务器对话。
2、生命周期管理:servlet的加载、实例化、初始化和方法调用与回收皆由容器控制。
3、多线程支持:为每个接收的servlet请求创建一个新的线程。
4、生命方式实现安全:可以使用XML部署描述文件来配置安全性。
5、JSP支持:将JSP代码翻译为JAVA代码。

Tomcat就是一个这样的容器。

下面是官方网址,开源免费的噢。
http://tomcat.apache.org/

使用XML使Servlet可以被访问

看如下图,由servlet元素与serlvet-mapping元素共同配置。

先是servlet元素里面有serlvet-name和sevlet-class元素。sevlet-class内容即是servlet的文件名。servlet-name即是配置部署描述文件的人希望给它的名字(随意取)。

然后servlet-mapping元素中的servlet-name和url-pattern。url-pattern是部署者希望在url中以此地址来调用该servlet。那么servlet-name的作用也就出来了:将servlet-class与url-pattern连接。另外同一个servlet是可以有多个url-pattern的。同时注意url-pattern的内容,是有“/”的。
在这里插入图片描述

Servlet用例

public class MySelector extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
        response.setCharacterEncoding("UTF-8");//设置编码
        response.setContentType("text/html");//设置返回类型

        String[] sizes = request.getParameterValues("sizes");//从http请求中获得sizes对应的值(自己随便设的)

        request.setAttribute("sizes",sizes);//键值储存传送给jsp
        RequestDispatcher view = request.getRequestDispatcher("mySelector.jsp");//跳转到jsp
        view.forward(request,response);//向jsp发送request\response
    }
}

JSP用例

<%-- jsp中,可以在<% %>标签中可以写java代码并且运行 --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String[] sizes = (String[])request.getAttribute("sizes");
    for(String one:sizes){
        out.println(one);
    }
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值