8.1(前端服务器的配置以及tomcat环境的配置)

回顾
[root@tomcat ~]# cd eleme_web/public/img/
[root@tomcat img]# ls
1.jpg
[root@tomcat public]# cd
[root@tomcat ~]# cd eleme_web/
[root@tomcat eleme_web]# cd src
[root@tomcat src]# vim views/HomeView.vue 

[root@tomcat src]# nohup npm run serve    ctrl+c后网页不出现

构建项目  npm run build

1、将静态项目移动到nginx

[root@tomcat eleme_web]# vim dist/index.html
[root@tomcat eleme_web]# cd /usr/local/nginx/
[root@tomcat nginx]# ls
[root@tomcat nginx]# cd conf.d/
[root@tomcat conf.d]# ls
abc.conf
[root@tomcat conf.d]# cp abc.conf eleme.conf
[root@tomcat conf.d]# vim eleme.conf 

[root@tomcat conf.d]# vim /usr/local/nginx/conf/nginx.conf

一、java环境的配置
1、下载jdk
[root@dns ~]# wget  https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz

2、配置文件

方法一:

[root@dns ~]# vim /etc/profile


方法二:

sed -i '$aexport JAVA_HOME=/usr/local/jdk22' /etc/profile

sed -i '$aexport PATH=$JAVA_HOME=/bin:$PATH' /etc/profile

3、运行profile
[root@dns ~]# source /etc/profile

4、测试
[root@dns ~]# java

[root@dns ~]# java -version

二、tomact
1、下载
[root@dns ~]# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz

 2、解压
[root@dns ~]# tar -zxvf apache-tomcat-10.1.26.tar.gz 

3、将spsche tomcat移动到/usr/local/目录下,改名tomcat
[root@dns ~]# mv apache-tomcat-10.1.26 /usr/local/tomcat/
[root@dns ~]# ls /usr/local/tomcat/

4、启动
[root@dns ~]# /usr/local/tomcat/bin/startup.sh 

端口状态

[root@dns ~]# netstat -lnput | grep java

停用

[root@dns ~]# /usr/local/tomcat/bin/shutdown.sh 

5、测试

6、tomcat的目录
1.bin

        1.1 可执行文件

        1.2 在window和linux通用

        1.3 win10上优化后上传到linux,只需要添加权限

        1.4 win对应的文件扩展名为bat(批处理文件)

        1.5 linux对应的文件扩展名为 sh

        1.6 startup

        1.7shutdown.sh 

2.webapps


        2.1 每个目录就是一个项目

        2.2 ROOT是默认的项目目录,在实际开发中,我们可以将程序打包成ROOT.war或者将目录名称修改为ROOT就可以直接发布

        2.3 使用192.168.8.135:8080直接访问的页面是ROOT目录下的index.jsp

        2.4 在这个目录下可以部署一些静态资源,可以使用浏览器查看,也可以使用下载

        2.5 用可以在该目录下创建新的文件夹作为项目发布

        2.6 要发布项目有两个选项

                2.6.1 将项目移动到该目录下

                2.6.2 在conf/server.sml修改资源文件的位置

                2.6.3 nginx默认的路径/usr/local/nginx/html,也可以在server中配置其他绝对路径,不必须是在内部的html目录中

[root@dns tomcat]# cd /usr/local/tomcat/webapps/
[root@dns webapps]# mkdir myweb
[root@dns webapps]# ls
docs  examples  host-manager  manager  myweb  ROOT
[root@dns webapps]# cd myweb/
[root@dns myweb]# vim a.jsp

[root@dns myweb]# /usr/local/tomcat/bin/startup.sh 

3.work

        3.1 将isp还原成java和class文件

        3.2 保存路径/usr/local/tomcat/work/Catalina/localhoast/myweb/org/apache/jsp/xxx.java

        3.3 自动将jsp解析为javac文件,不需要重启服务

4. logs

        4.1 日志文档

        4.2 catalina.log

        4.3 localhost.log

        4.4 都有相应日期

5.conf

        [root@dns conf]# ls -l
        总用量 232
        drwxr-x--- 3 root root     23 8月   1 14:13 Catalina
        -rw------- 1 root root  12926 7月   8 05:02 catalina.policy
        -rw------- 1 root root   7693 7月   8 05:02 catalina.properties
        -rw------- 1 root root   1411 7月   8 05:02 context.xml
        -rw------- 1 root root   1149 7月   8 05:02 jaspic-providers.xml
        -rw------- 1 root root   2313 7月   8 05:02 jaspic-providers.xsd
        -rw------- 1 root root   4144 7月   8 05:02 logging.properties
        -rw------- 1 root root   7126 7月   8 05:02 server.xml
        -rw------- 1 root root   2756 7月   8 05:02 tomcat-users.xml
        -rw------- 1 root root   2558 7月   8 05:02 tomcat-users.xsd
        -rw------- 1 root root 172780 7月   8 05:02 web.xml

        [root@dns conf]# vim server.xml

         <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
 

        <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

6.lib

        6.1 tomcat运行为项目提供依赖文件

        6.2 要访问没有的数据

7.tmp
三、负载均衡
1、修改ROOT目录中的index.jsp

[root@dns ~]# echo "i am dynamic jsp java server page,number is 001" > /usr/local/tomcat/webapps/ROOT/index.jsp 

[root@elemestatic ~]# echo "i am dynamic jsp java server page,number is 002" > /usr/local/tomcat/webapps/ROOT/index.jsp

2、启动tomcat服务

[root@elemestatic ~]# /usr/local/tomcat/bin/startup.sh

[root@dns ~]# /usr/local/tomcat/bin/startup.sh

3、修改配置文件

[root@tomcat ~]# cd /usr/local/nginx/conf.d/
[root@tomcat conf.d]# ls
abc.conf  eleme.conf
[root@tomcat conf.d]# cp eleme.conf el.conf
[root@tomcat conf.d]# ls
abc.conf  el.conf  eleme.conf
[root@tomcat conf.d]# vim el.conf 

[root@tomcat conf.d]# cd /usr/local/nginx/conf
[root@tomcat conf]# vim nginx.conf

[root@tomcat conf]# /usr/local/nginx/sbin/nginx -s reload
[root@tomcat conf]# vim /etc/hosts

4、测试

四、数据库
1、关系型数据库
        1. oracle
        2. mysql

                2.1 安装和配置

                2.2 sql语句

                2.3 优化

                2.4 备份与安全

                2.5 集群

                        2.5.1 主从

                        2.5.2 一主多从

                        2.5.3 增删改主机

                        2.5.4 从服务器负责mysql查询

        3. sql-server
2、非关系型数据库

        1. redis

        2. cached

        3. mongodb
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.youkuaiyun.com/m0_71589190/article/details/140854797

<think>好的,我现在需要帮助用户了解如何基于EasyUI、SpringMVC、Spring、MyBatis等技术构建在线考试系统的架构设计,并绘制相应的架构图和功能图。用户还提到了使用Visio或亿图图示等工具来实现这些图表。首先,我应该先理清用户的需求,确保覆盖所有提到的技术栈和功能模块。 首先,用户明确提到了分层架构,包括表现层、控制层、业务逻辑层和数据访问层。我需要确定每一层使用的具体技术和工具,比如前端用EasyUI,控制层用SpringMVC,业务层用Spring,数据访问层用MyBatis。然后,系统管理、基础数据管理和考试管理这几个功能模块需要细化,可能需要列举每个模块的具体功能点,比如用户管理、试题库管理等。 接下来,架构图的绘制可能需要分为逻辑架构和物理架构。逻辑架构展示各层之间的关系,而物理架构则涉及服务器、数据库等的部署情况。用户提到使用Tomcat服务器和MySQL数据库,所以物理架构图应包括这些组件。 然后,功能图需要展示系统的主要功能模块及其子功能。例如,系统管理可能包括用户管理、角色权限管理,考试管理可能包括在线考试、自动阅卷等。需要确保每个模块的分支清晰,便于用户理解。 另外,用户提供的引用内容提到了一些技术点,比如MVC模式、Spring、MyBatis、Eclipse等,这些都需要在架构设计中体现出来。可能需要结合这些技术点,说明它们在各个层次中的应用,比如MyBatis在数据访问层的作用,Spring的依赖注入如何管理业务逻辑层的Bean。 还要考虑工具的选择,用户提到Visio或亿图图示,这两种工具都适合绘制架构图。可能需要给出一些绘图建议,比如使用不同的形状表示不同的层次,颜色区分模块,箭头表示数据流或调用关系。 可能需要检查是否有遗漏的技术点,比如日志管理(log4j)、前端框架(bootstrap、jQuery)、构建工具(maven)等,这些是否需要在架构图中体现,或者作为补充说明。 最后,用户可能需要步骤指导,如何从零开始搭建这样的系统,或者如何分模块开发。不过根据问题,重点是在架构图和功能图的绘制,因此需要详细说明各层的技术实现和模块划分,确保图表准确反映系统结构。 可能还需要考虑系统的扩展性和维护性,比如分层架构如何支持模块化开发,Spring的AOP如何处理事务和日志等公共功能。这些虽然不是绘图直接内容,但有助于理解架构设计的合理性。 总结来说,我需要分步骤解析架构的每一层,明确技术选型,列举功能模块及其子功能,然后指导如何用绘图工具将这些元素可视化,确保逻辑清晰,符合用户提供的技术栈和需求。</think>### 在线考试系统架构设计与技术实现 #### 一、分层架构与核心技术栈 $$系统架构 = \begin{cases} 表现层:EasyUI + JSP + HTML5/CSS3/JavaScript \\ 控制层:SpringMVC(DispatcherServlet + Controller) \\ 业务逻辑层:Spring Core(IoC/AOP) + 自定义Service \\ 数据访问层:MyBatis(Mapper接口 + XML映射) \\ 数据库层:MySQL 5.1(InnoDB存储引擎) \\ 服务器环境:Windows 8.1 + Apache Tomcat 7 + JDK1.8 \end{cases}$$ #### 二、架构图设计要素 1. **逻辑架构图**(建议使用UML组件图) - 前端组件:EasyUI组件库、AJAX通信模块 - 中间件:SpringMVC请求处理流程 - 数据持久化:MyBatis SQL映射关系 - 示例组件关系: $$用户请求 \rightarrow DispatcherServlet \rightarrow Controller \rightarrow Service \rightarrow Mapper \rightarrow MySQL$$ 2. **物理部署图**(Visio服务器图标库) - 客户端:浏览器(HTTP/HTTPS) - Web服务器Tomcat 7(部署WAR包) - 数据库服务器:MySQL 5.1(独立部署) - 开发环境:Eclipse + Maven + Git #### 三、功能模块划分 ```plaintext 考试系统功能树 ├─ 系统管理 │ ├─ 用户管理(CRUD)[^1] │ ├─ 角色权限(Spring Security) │ └─ 日志审计(Log4j) ├─ 基础数据 │ ├─ 试题库管理(题型/难度分类) │ ├─ 试卷生成(策略模式) │ └─ 考试科目管理 └─ 考试管理 ├─ 在线考试(WebSocket实时通信) ├─ 自动阅卷(规则引擎) └─ 成绩分析(ECharts图表) ``` #### 四、Visio/亿图图示实现步骤 1. **架构图绘制技巧** - 使用分层架构模板(4层纵向排列) - 技术栈标注规范: ```xml <!-- 示例:数据访问层标注 --> <layer name="DAO层"> <component type="MyBatis" version="3.5"/> <connection type="JDBC" pool="Druid"/> </layer> ``` - 数据流向用虚线箭头标注 2. **功能图设计建议** - 采用树状拓扑结构 - 模块颜色编码: - 红色:核心业务(考试相关) - 蓝色:支撑系统(权限/日志) - 交互关系使用泳道图表示 #### 五、关键集成点说明 1. **Spring整合MyBatis** ```java @Configuration @MapperScan("com.exam.dao") public class MyBatisConfig { @Bean public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) { SqlSessionFactoryBean factory = new SqlSessionFactoryBean(); factory.setDataSource(dataSource); factory.setTypeAliasesPackage("com.exam.model"); return factory; } } ``` [^2] 2. **EasyUI与后端交互** ```javascript $('#examGrid').datagrid({ url:'/exam/list', method:'get', queryParams: { subjectId: $('#subject').combobox('getValue') } }); ``` #### 六、性能优化建议 1. 数据库连接池配置(建议Druid) ```properties druid.maxActive=20 druid.initialSize=5 druid.testWhileIdle=true ``` 2. MyBatis二级缓存配置 ```xml <cache eviction="LRU" flushInterval="60000" size="512"/> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值