java web项目实战之5 项目架构,项目发布,servlet请求

  1. 项目展示层架构,URL和项目发布目录的对应关系

java web项目实战之5 项目架构,项目发布,servlet请求_第1张图片

  1. 展示层:商家管理页面(sellerManage.html)第一版
    1. 引入 bootstrap,将下载的bootstrap目录copy到webroot下

      java web项目实战之5 项目架构,项目发布,servlet请求_第2张图片

    2. 页面代码

      DOCTYPE html>

      <htmllang="en">

      <head>

      <metacharset="UTF-8">

      <title>商家管理title>

      <linkrel="stylesheet"href="../../bootstrap/css/bootstrap.min.css">

      head>

      <body>

          <tableclass="table table-hover">

              <caption>悬停表格布局caption>

              <thead>

                  <tr>

                      <th>名称th>

                      <th>城市th>

                      <th>邮编th>

                  tr>

              thead>

              <tbody>

                  <tr>

                      <td>Tanmaytd>

                      <td>Bangaloretd>

                      <td>560001td>

                  tr>

                  <tr>

                      <td>Sachintd>

                      <td>Mumbaitd>

                      <td>400003td>

                  tr>

                  <tr>

                      <td>Umatd>

                      <td>Punetd>

                      <td>411027td>

                  tr>

              tbody>

          table>

      body>

      html>

  2. 项目发布,运行,Web访问

    java web项目实战之5 项目架构,项目发布,servlet请求_第3张图片

    页面效果

    java web项目实战之5 项目架构,项目发布,servlet请求_第4张图片

  3. 展示层:商家管理页面(sellerManage.jsp)第二版
    1. 在sellerManage.html的页面代码前加上如下代码

      <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    2. 重构sellerManage.html为sellerManage.jsp

    java web项目实战之5 项目架构,项目发布,servlet请求_第5张图片

     

    java web项目实战之5 项目架构,项目发布,servlet请求_第6张图片

     

    重新访问的效果图,注意要更改访问文件的后缀了

    java web项目实战之5 项目架构,项目发布,servlet请求_第7张图片

  4. 展示层:商家管理页面(sellerManage.jsp)第三版

    修改表格结构,使其类似我们要展示的商家数据表格

    java web项目实战之5 项目架构,项目发布,servlet请求_第8张图片

    效果:

    java web项目实战之5 项目架构,项目发布,servlet请求_第9张图片

  5. 访问方式的改进

    这种硬访问方式是相当危险的,访问者可直接窥探项目的架构

  6. Servlet知识
    1. 简介http://www.runoob.com/servlet/servlet-intro.html
    2. Get和Post访问方式http://www.runoob.com/jsp/jsp-form-processing.html
  7. 商家Servlet类创建

    java web项目实战之5 项目架构,项目发布,servlet请求_第10张图片

     

    java web项目实战之5 项目架构,项目发布,servlet请求_第11张图片

  8. 商家Servlet访问方式的web.xml配置

    java web项目实战之5 项目架构,项目发布,servlet请求_第12张图片

    Web.xml中的代码:

    xmlversion="1.0"encoding="UTF-8"?>

    <web-appversion="3.0"xmlns="http://java.sun.com/xml/ns/javaee"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

        <display-name>display-name>

        <welcome-file-list>

            <welcome-file>login.jspwelcome-file>

        welcome-file-list>

        

        

        <servlet>

            <servlet-name>sellerManageServletservlet-name>

            <servlet-class>gccshop.servlet.SellerManageServletservlet-class>

        servlet>

        <servlet-mapping>

            <servlet-name>sellerManageServletservlet-name>

            

            <url-pattern>/sellerurl-pattern>

        servlet-mapping>

    web-app>

  9. 重新启动服务器(服务器调试运行方式可不用),让其重新编译加载这些变更。

    java web项目实战之5 项目架构,项目发布,servlet请求_第13张图片

    这个效果不是太理想,我们需要更改css的引用

     

    更改为:

    新效果:

    java web项目实战之5 项目架构,项目发布,servlet请求_第14张图片

  10. 下一步可在Servlet中包装数据,将其输出到显示层的相关页面
    1. 调用服务层的实现

      java web项目实战之5 项目架构,项目发布,servlet请求_第15张图片

    2. 改写doPost(…)方法,接收页面传来的请求参数

      java web项目实战之5 项目架构,项目发布,servlet请求_第16张图片

    3. 数据包装成json对象,请求响应携数据跳转到目标页面

      java web项目实战之5 项目架构,项目发布,servlet请求_第17张图片

      代码:

      //将数据整合成json格式,传递给展示层sellerManage.jsp

          publicvoid doShow(HttpServletRequest request,

                  HttpServletResponse response, ArrayList list)

                  throws ServletException, IOException {

              //json数据在页面间传递数据

              JSONObject data =new JSONObject();

              //计算出分页,并生成页面序号列表

              ArrayList rowsList =new ArrayList();

              for (int i = 1; i <= ssi.findAll().size() /rowsPerPage + 1; i++) {

                  rowsList.add(i);

              }

              if (list !=null) {

                  data.put("rows", rowsList);//分页列表,用于页导航

                  data.put("sellers", list);//数据列表,用表格显示数据

              }else {//如果没有数据,也要构成json数据

                  data.put("rows", 0);

                  data.put("sellers",null);

              }

              request.setAttribute("data", data);// request范围

              request.getRequestDispatcher("manage/seller/sellerManage.jsp").forward(

                      request, response);

          }

  11. 展示层:商家管理页面(sellerManage.jsp)第四版
    1. 将相应jar包copy进lib,代码中引入c标签库。JSP 标准标签库(JSTL)http://www.runoob.com/jsp/jsp-jstl.html

      java web项目实战之5 项目架构,项目发布,servlet请求_第18张图片

    2. 引入其它标签,展示数据

      c:foreach标签http://www.runoob.com/jsp/jstl-core-foreach-tag.html

      c:if标签http://www.runoob.com/jsp/jstl-core-if-tag.html

      java web项目实战之5 项目架构,项目发布,servlet请求_第19张图片

    3. 页面效果

      java web项目实战之5 项目架构,项目发布,servlet请求_第20张图片

       

你可能感兴趣的:(gcc)