日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XX网站搭建全程

發布時間:2024/8/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XX网站搭建全程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XX網站搭建全程

    • 項目流程
    • 環境與技術
    • 1. 背景
    • 2. 用戶特點
    • 3. 角色定義:
    • 4. 角色定義:系統主要用例
    • 5. 功能描述
    • 目錄結構
    • web配置
          • 防止sql注入過濾器
          • 登錄攔截器
        • 路徑映射

本博客記錄了接單全程

項目流程

  • 與客戶溝通,確定需求,如果客戶需求不定,就根據客戶需要的功能以及應用范圍制定出需求范本給客戶看
  • 客戶確定最終需求
  • 商量開發費用與周期,一般是定金40%,后期的自行商量
  • 數據庫設計
  • 選前端頁面框架,設計好前端頁面,網上一大堆模板資源,挑選出來合適的給客戶選擇
  • 整體規劃一下,具體從何做起
  • 環境與技術

  • Java:java8
  • Tomcat:tomcat8
  • 頁面:jsp頁面
  • 數據庫:mysql5.5
  • 框架:基于servlet和jsp
  • 調試瀏覽器:Google Chrome瀏覽器
  • 系統:win10或者linux
  • 前端:layui(成本低)
  • 1. 背景

    產品名稱:醫療科技公司網站
    最終用戶:網站管理人員及網上用戶

    2. 用戶特點

    本網站的用戶都是網絡用戶,包括兩大類,一類是訪問者,另一類是企業網站管理人員。

    3. 角色定義:

    角色是指與系統產生交互的外部用戶或者外部系統。
    網站角色有兩類,訪問者,企業管理員。外部系統為數據庫。

    4. 角色定義:系統主要用例

    此網站可以分為兩個主要組成部分,一個是客戶端子系統,一個是管理端子系統。客戶端子系統功能主要是指網上訪問者對于網站的訪問與信息查詢等。管理端子系統的功能主要是對網站信息進行管理。


    5. 功能描述

    1) 訪問者:
    僅能訪問公司網站的公開信息部分
    2) 網站管理者
    所有網站管理者均可以對訂單以及網站頁面信息進行操作(為保信息安全,每一次操作都會產生對應一條記錄保存操作者的信息)
    對于所有管理者:

    a) 聯系方式增刪改查
    b) 網站主頁滾動圖片管理
    c) 注冊登錄
    d) 公司介紹管理
    e) 公司檔案信息管理
    f) 公司榮譽資質管理
    g) 公司相冊管理
    h) 訂單管理(即采購清單管理)
    i) 招商代理管理

    j) 產品管理
    i. 產品推薦設置
    ii. 供應產品設置
    iii. 產品分類管理
    對于網站頂層管理者:
    a) 人員管理(對已注冊的管理員或者未注冊的準管理員進行信息管理,防止數據庫人員信息只進不出)

    目錄結構


    web配置

    防止sql注入過濾器
    <filter><filter-name>SqlInjectFilter</filter-name><filter-class>com.jianxiao.util.SqlInjectFilter</filter-class> </filter><filter-mapping><filter-name>SqlInjectFilter</filter-name><url-pattern>/ *</url-pattern></filter-mapping> package com.jianxiao.util;import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Enumeration;public class SqlInjectFilter implements Filter {public void destroy() {}public void init(FilterConfig arg0) throws ServletException {}public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) res;// 獲得所有請求參數名Enumeration params = request.getParameterNames();String sql = "";while (params.hasMoreElements()) {// 得到參數名String name = params.nextElement().toString();// 得到參數對應值String[] value = request.getParameterValues(name);for (int i = 0; i < value.length; i++) {sql = sql + value[i];}}if (sqlValidate(sql)) {// throw new IOException("您發送請求中的參數中含有非法字符");sql = "null";} else {chain.doFilter(request, response);}}/*** 參數校驗* * @param str*/public static boolean sqlValidate(String str) {str = str.toLowerCase();// 統一轉為小寫System.out.println("這是----->"+str);String badStr = "select.update.and.delete.insert.truncate.char.into.substr.ascii.declare.exec.count.master.into.drop.execute.table";String[] badStrs = badStr.split("\\.");for (int i = 0; i < badStrs.length; i++) {// System.out.println("這是badStr----->"+badStrs[i]);// 循環檢測,判斷在請求參數當中是否包含SQL關鍵字if (str.indexOf(badStrs[i]) >= 0) {System.out.println("被攔截!"+badStrs[i]);return true;}}return false;} }
    登錄攔截器
    <filter><filter-name>MyInterceptor</filter-name><filter-class>com.jianxiao.interceptors.MyInterceptor</filter-class> </filter> <filter-mapping><filter-name>MyInterceptor</filter-name><url-pattern>/ *</url-pattern> </filter-mapping> package com.jianxiao.interceptors;import java.io.IOException;import java.text.SimpleDateFormat; import java.util.Date;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import com.jianxiao.dao.LogDao; import com.jianxiao.impl.LogDaoimpl; import com.jianxiao.po.User;public class MyInterceptor implements Filter {/*** 攔截器*/// 不攔截的請求private static final String[] IGNORE_URI = { "jumpIndex", "jumpProduct", "jumpCDetail", "jumpCertification","zhaoShanginfo", "shoppingList", "jumpToAlbum", "goToliuYan", "goToDangAn", "layui", "login", "loginJudge","quit","myJs","img","res", "jumpZhuCe", "goToZhuCe", "alupload", "upload", "zsupload", "ceupload", "getShoppingList" };private static final String[] SUPER_URI = { "memberList", "getMember", "memberUpdate", "memberAdd", "memberInsert","logList", "getLog"};private LogDao logDao = new LogDaoimpl();@Overridepublic void destroy() {// TODO Auto-generated method stub}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) servletRequest;HttpServletResponse resp = (HttpServletResponse) servletResponse;// 把用戶提交的數據的編碼統一為utf-8req.setCharacterEncoding("utf-8");// 把servlet打印輸入的內容先設定為htmlresp.setContentType("text/html");// 設置輸出信息的編碼為utf-8resp.setCharacterEncoding("utf-8");String servletPath = req.getServletPath();String XRequested = req.getHeader("X-Requested-With");// PrintWriter out = resp.getWriter();System.out.println("----請求的路徑servletPath----------------" + servletPath);System.out.println("路徑-->" + req.getRequestURI() + "--servletPath--->" + servletPath + "----XRequested---->" + XRequested);// flag 為true的話,通過,為false重新登錄boolean flag = false;HttpSession session = req.getSession();User user = (User) session.getAttribute("user");if (user != null) {// 進入日志 操作人為userString logsql = "insert into log (action,time,person) values(?,?,?)";SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 設置日期格式String time = df.format(new Date());String person = user.getuName();String action = null;switch (servletPath) {case "/loginJudge":action = "登錄";System.out.println(action);break;case "/getMember":action = "瀏覽人員";break;case "/memberUpdate":action = "更新人員";break;case "/memberInsert":action = "添加人員";break;case "/categoryList":action = "瀏覽產品類別";break;case "/categoryUpdate":action = "編輯產品類別";break;case "/categoryDelete":action = "刪除產品類別";break;case "/categoryInsert":action = "插入產品類別";break;case "/productList":action = "瀏覽產品";break;case "/productInsert":action = "插入產品";break;case "/productUpdateSome":action = "更改產品開關";break;case "/productUpdate":action = "編輯產品";break;case "/productDelete":action = "刪除產品";break;case "/getOrders":action = "瀏覽訂單";break;case "/orderInsert":action = "插入訂單";break;case "/orderEdit":action = "編輯訂單";break;case "/getShoppingList":action = "瀏覽采購訂單";break;case "/editShoppingList":action = "編輯采購訂單";break;case "/shoppingListInsert":action = "添加采購訂單";break;case "/shoppingInsert":action = "批量導入采購訂單";break;case "/certificationList":action = "瀏覽榮譽資質";break;case "/certificationUpdate":action = "編輯榮譽資質";break;case "/certificationDelete":action = "刪除榮譽資質";break;case "/certificationInsert":action = "添加榮譽資質";break;case "/jumpAlbumList":action = "瀏覽公司相冊";break;case "/albumInsert":action = "添加公司相冊圖片";break;case "/jumpAlbumEdit":action = "修改公司相冊";break;case "/albumDelete":action = "刪除公司相冊";break;case "/jumpZhaoShangList":action = "瀏覽招商列表";break;case "/zhaoShangInsert":action = "添加招商信息";break;case "/jumpZhaoShangEdit":action = "編輯招商信息";break;case "/zhaoShangDelete":action = "刪除招商信息";break;case "/contactUs":action = "瀏覽聯系方式";break;case "/contactUpdate":action = "修改聯系方式";break;case "/cDetailList":action = "瀏覽公司詳情";break;case "/cDetailUpdate":action = "編輯/刪除/添加公司詳情";break;case "/jumpCDetailAdd":action = "跳轉到添加公司詳情";break;case "/cFileList":action = "瀏覽公司檔案";break;case "/cFileUpdate":action = "編輯公司檔案";break;case "/jumpLiuYan":action = "瀏覽留言";break;case "/liuYanDelete":action = "刪除留言";break;}Object param[]=new Object[3];param[0]=action;param[1]=time;param[2]=person;System.out.println("操作--"+action);if(action!=null) {logDao.insert(param, logsql);}}if ("XMLHttpRequest".equals(XRequested) && user != null) {flag = true;chain.doFilter(servletRequest, servletResponse);} else {// 如果不是ajax請求,判斷是否需要攔截for (String s : IGNORE_URI) {if (servletPath.contains(s)) {// System.out.println("----請求的路徑servletPath----------------" + servletPath);chain.doFilter(servletRequest, servletResponse);flag = true;break;}}// 需要攔截if (!flag) {if (user != null) {if (user.getuGrade().equals("1")) {chain.doFilter(servletRequest, servletResponse);return;} else {// 判斷訪問的路徑是否涉及到一級管理員,如果涉及到一級管理員彈窗提示越權!// 判斷當前訪問的路徑里邊是否有一級管理員的專屬路徑for (String s : SUPER_URI) {if (servletPath.contains(s)) {System.out.println("----請求的路徑servletPath----------------" + servletPath);req.getRequestDispatcher("WEB-INF/backstage/index2.jsp").forward(req, resp);break;} else {chain.doFilter(servletRequest, servletResponse);return;}}}}else {resp.sendRedirect("login");}}}}@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}

    路徑映射

    沒有采用注解的方式,采用的配置的方式,類似于下面

    <servlet><servlet-name>GoToFinalIndex</servlet-name><servlet-class>com.jianxiao.action.GoToFinalIndex</servlet-class> </servlet> <servlet-mapping><servlet-name>GoToFinalIndex</servlet-name><url-pattern>/goToFinalIndex</url-pattern> </servlet-mapping>

    具體項目代碼就不寫了,很簡單的增刪改查,由于沒有使用框架,開發起來相當費勁,客戶要求的原生的servlet。。。寫此博客只為了給大家像我一樣的小白提供些思路
    下面展示下成果,大家見笑了








    總結

    以上是生活随笔為你收集整理的XX网站搭建全程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 99热在线这里只有精品 | 久久精品中文字幕 | 欧美日韩一二三四区 | 97人人人 | 午夜看片在线 | 亚洲精品v天堂中文字幕 | 综合99| 黄色1级片 | 国产精品麻豆果冻传媒在线播放 | 亚洲第一色 | 亚洲一区精品在线观看 | 不卡中文字幕在线观看 | 免费无码av片在线观看 | 污网站免费在线观看 | 91社区福利| 婷婷在线免费视频 | 欧美日本高清视频 | 国产999精品| 久久国产a | 女人叫床很黄很污句子 | 婷婷色伊人 | 熟女少妇一区二区三区 | 久草色在线 | 黄色三级av | 国产高清成人久久 | 欧美成人午夜视频 | 成年在线观看 | 黄色一级免费片 | 桃色av网站| yw视频在线观看 | 伊人亚洲精品 | 国产无码精品在线播放 | 福利毛片| 欧美日韩精品在线播放 | 精品一区二区三区视频日产 | 在线视频成人 | 中文字幕精品久久 | 在线观看一区二区三区四区 | 69精品人人| 一级视频在线免费观看 | 午夜丰满寂寞少妇精品 | 成人黄色a级片 | 白丝校花扒腿让我c | 91麻豆国产| 肥熟女一区二区三肥熟女 | 91久久久国产精品 | 日日爱夜夜操 | 亚洲在线观看av | 男人插入女人阴道视频 | 日韩美女网站 | 丁香九月激情 | 欧美理伦少妇2做爰 | 亚洲三区在线观看无套内射 | 免费在线观看污 | 牛牛在线免费视频 | 桃色在线视频 | 婷婷激情影院 | 日韩黄色片免费看 | www.rihan| 韩国精品视频 | 91高清国产| 97香蕉碰碰人妻国产欧美 | 四虎中文字幕 | 亚洲视频在线观看网站 | 日韩综合| 黄瓜视频在线免费观看 | 色婷婷亚洲 | 久久91亚洲人成电影网站 | 日本在线观看www | 国产黄色www | 小镇姑娘国语版在线观看免费 | 国产aaaaa毛片| 凹凸精品一区二区三区 | 国产一区亚洲一区 | 亚洲欧美一区二区三区情侣bbw | 另类专区成人 | 91精品91 | 日本一级黄色录像 | 日韩欧美国产一区二区三区在线观看 | 欧美日韩图片 | 亚洲AV无码国产精品播放在线 | 欧美最顶级a∨艳星 | 91中文字幕网 | 91看片黄色 | 免费成人黄色 | 国产在线观看免费网站 | 久久视频在线免费观看 | 日韩中文字幕在线不卡 | 国产成人超碰人人澡人人澡 | 日韩小视频在线观看 | 久久久性 | 毛片在线观看视频 | 一区二区福利电影 | 久久无码国产视频 | 国产毛片在线 | 97视频人人 | 午夜免费影院 | 不卡视频国产 | 亚洲自拍色图 |