Featured image of post 个人已上线项目 Javaweb羽毛球商城

个人已上线项目 Javaweb羽毛球商城

🎯 这篇文章用于介绍我做的第一个Javaweb项目:羽毛球商城 此项目完成于2022年8月 我是从2022暑假开始系统学习java后端技术的 这也是我的第一个个人项目 先根据教程敲学 然后学着开发自己的特色化功能

🎄项目访问链接

🌏此项目未做移动端适配 所以移动端访问效果不好 推荐电脑浏览器访问

🌏已经部署到Linux服务器 访问链接如下(😇自己测试过 首次访问加载较慢 但之后反应还是挺快的)20240206 -> 安装SSL证书 -> 访问安全

https://bigbigmeng.online/jinjiaju/index.jsp

🌏20230902 因为目前服务器不满3个月 所以无法备案 访问会提示不安全 是正常的 如果访问域名长时间无响应 可以直接用IP地址访问 响应比较快

http://140.143.165.120:88/jinjiaju/index.jsp

🤵普通用户登录 账号 jinxuan999 密码 jinxuan999

🤵管理员登录 账号 jinxuan666 密码 jinxuan666

🎄项目技术选型

  • Java8
  • Tomcat-8.5.7
  • JSP
  • Servlet

🎄管理员端功能和内容呈现(本地开发环境演示)

🌴管理员登录后的主页

🌴后台管理

🌴后台管理->商品管理

🌴后台管理->商品管理->添加商品

🌴后台管理->商品管理->修改商品信息

🌴后台管理->订单管理

🌴后台管理->用户管理

🌴后台管理->数据分析(只是一个构想尝试)

🎄普通用户端功能和内容呈现

🌴登录后

🌴个人中心

🌴个人中心->个人信息

🌴个人中心->我的订单

🌴选购商品

🍭 其他细节可直接访问项目查看

🎄项目部署

🌴导入数据库信息

🌴修改项目数据源

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://101.42.24.90:3306/badminton?rewriteBatchedStatements=true
username=root
password=root

🌴上传war包到Tomcat的app目录下

🎄部署后访问存在的问题和解决

❗❗Linux的mysql不允许访问

解决:https://blog.csdn.net/mazaiting/article/details/106661158

❗❗Linux的mysql区分大小写

数据库中的表名与输入的sql中的使用的表名大小写不一致导致

查看Tomcat的日志 查找错误原因

原因呈现 数据库表名和SQL不一致:

解决

vi /etc/my.cnf 填入以下内容

#20230908

lower_case_table_names = 1 #不区分数据库的表名

重启MySQL

再次添加购物车

❗❗Linux中Tomcat部署路径问题

在修改用户头像的时候 会出现这样的错误:

✅解决

❗❗页面显示乱码的问题

✅解决过程

🌴进入数据库查看编码 show variables like 'character_set%';

修改后还是乱码🤕 后来查看了一下 MySQL的存储 中文显示正常 所以极有可能是页面编码的错误导致显示乱码

在本地开发的时候没有配置字符编码过滤器也可以正常显示 所以没有给web应用添加字符编码过滤器 现在给应用添加一个过滤器如下:

/**
@author Liu Xianmeng
@createTime 2023/9/9 8:32
@instruction 添加字符编码过滤器组件
*/

@SuppressWarnings({"all"})
public class CharacterEncodingFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {}
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        servletRequest.setCharacterEncoding("utf-8");
        servletResponse.setCharacterEncoding("utf-8");
        // 处理编码后放行
        filterChain.doFilter(servletRequest, servletResponse);
    }
    @Override
    public void destroy() {}
}

在web.xml中配置此过滤器的拦截条件(放在所有组件的最上方)

<!-- 20230909 配置字符编码过滤器 -->
<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>com.jin.jiaju.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <!--对所有请求进行编码过滤-->
    <url-pattern>/*</url-pattern>
</filter-mapping>

配置之后重新部署项目 查看效果

查看字符过滤器是否执行

那还有可能是什么原因呢?

如何彻底修改呢?

🍭vi /etc/my.cnf

character-set-server=utf8
collation-server=utf8_general_ci

然后再重新启动MySQL

再次登录MySQL查看编码

🍭再次查看web页面是否正常显示中文

更新后查看页面:

✨问题解决!!!

Licensed under CC BY-NC-SA 4.0
最后更新于 2024年2月6日