简单Servlet+jsp 例子的逻辑思维分析

简单Servlet+jsp 例子的逻辑思维分析

一.关于servlet的的简述:

Servlet是运行在web服务端的小程序,通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。
原理分析:1)web服务器收到来自客户端的请求,容器产生“请求和响应”对象,并判断请求的servlet是否存在。
2)如果存在,则直接调用此Servlet对象的Service方法(间接调用doPost或doPost等方法),并将“请求和响应”对象作为参数传递;如果不存在,容器加载Servlet类,创建servlet对象并实例化,然后调用Servlet的init方法进行初始化,之后调用Service。
3)在Service方法中,通过请求对象获取客户端提交的数据并处理,然后通过响应对象将处理结果返回给客户端。

二.逻辑思维分析:

在实例项目中,就拿servlet和jsp的项目来说,首先在web.xml 添加下面对servlet的配置,在jsp中写入声明语句通过路径转入,在web.xml中找到路径所对应的servlet-name,再从而找到servlet的类名,这时候一个servlet就创建好了。

...
<web-app>
  <servlet>
    <servlet-name>cuisineListServlet</servlet-name>
    <servlet-class>com.lanou.servlet.CuisineListServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>cuisineListServlet</servlet-name>
    <url-pattern>/cuisineList</url-pattern>
  </servlet-mapping>

</web-app>

接 下来我们可以在servlet中doget方法写入传递给jsp的对象,通过request.setparamer();传入参数,在jsp中通过request.getparamer();获取参数。然后通过转入跳转到jsp界面

这是cuisineServlet类



    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");


        CuisineDao dao = new CuisineDao();//在dao中写入数据库操作等等
        List<Cuisine> list = dao.getCuisineAll();//创建并实例list,(调用dao的getCuisineAll返回一个list对象)

        request.setAttribute("list", list);//把从dao中读取的list获取到request请求中
        request.getRequestDispatcher("/cuisineList.jsp").forward(request,response);//跳转到cuisineList.jsp



这是cuisineList.jsp


<head>
...
<% String path = request.getContextPath(); %>
...
</head>
<body>
<a  href="<%=path %>/cuisineListServlet">
        <% List<Cuisine> list = (List<Cuisine>)request.getAttribute("list"); %>//声明一个新的list类组存入从请求中传入的对象list类组
                    <%=list.get(1).getId() %>//读取类组第一个的list的ID属性值


</body>

结合项目分出的简单的例子 发下博客 加深下自己的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值