A simple Java Web project, implemented using JSP, Servlet, MySQL, Bootstarp and other technologies. Completed the registration and login, publishing blogs, reading blogs, likes, posting comments, changing personal information, adaptive computers and mobile phones and other functions. If you like, please click on the stars, thank you.
A simple Java Web project, use JSP, Servlet, MySql, Bootstarp and others. Realized the function of login and register, publish blog, read blog, show like, publish comment, person profile change,adaptive desktop mobile and others.If you like this, please click the star, thanks.
There is a simple introduction panel on the home page, and the following is a blog post recommendation, which randomly recommends 10 blog posts.

To log in, you need to enter the verification code. The verification code is a simple formula and you can remember the account password. After logging in, it jumps back to the location before logging in, and some edited data can be saved (not implemented by the login component).

register.

The title and time are displayed above (including whether the article is modified and the time of modification). There is an operation button on the right, which can edit or delete the article. There are author information, article data statistics and statement buttons in the middle, which can like, cancel likes, opposes, cancel opposes (oppositions will not be counted, but will be recorded). Below is the comment section, you can post comments, view comments, and comments are loaded dynamically using Ajax, loading 10 comments at a time.

Article comments adopt dynamic pagination loading strategy, with 10 items loading each time. Deleting pop-ups is similar to reply pop-ups. Reply deletion uses Ajax technology and does not require refreshing the entire page (except for comments above). The management of comments is jointly managed by the commenter himself, the website administrator and the article author.

The blog page displays the blogs of all users on this site. They can be sorted by the number of likes, comments, views, publication time and modification time, etc., using paging technology, with 10 pieces of data per page (below footer).

Support keyword search, can search titles, content and users, and the pagination technology is consistent with the blog page.

Use summernote-v0.8.20 to implement rich text editing, and realize image upload. Because it is stored in the database, the code text length is up to 6w (it can be improved to store it in file form or other solutions later). Ajax technology is used to publish blog posts.

The profile page has personal data statistics, profile and personal blog post list (pagination).

Edit the information page, you can edit personal information such as avatar (prefabricated), nickname, signature, gender, hometown and contact information.

Simple password modification interface.


Unread messages are black and filled, and the messages are gray and filled after being displayed.

The message comes with a link, click the message to reach the specified location of the specified article.
The management homepage displays some statistics on this site.

User management interface.

Blog management interface.

Comment management interface.

Announcement release interface, you can filter the sending object, set the jump position after clicking, and notify the specified user in the form of a message after sending.

In the editing data interface, the editing frame is dynamically generated, not written, and after modification, it can jump back to the original position to enter the modified position.

The mobile phone interface shares the same page as the computer and uses the responsive front-end framework Bootstrap to implement it.

The mobile interface is not much different from the computer. In some places, in order to adapt to the operation of the mobile phone, they have re-typed it, such as reading the middle part of the page.

The blog posting interface on the mobile phone is not easy to operate, but it can still be used.

On the mobile phone, it seems that the layout of the computer is much bigger.

The management interface does not use any framework, and it is still so out of the way.

Overall, the functions are relatively simple, but I personally feel that the interface is quite exquisite (except for the management interface).
The password of all accounts is 123456 !
Database configuration file (SQL config file): src/druid.properties
Database structure file (SQL structure file): src/xiaoxiang_blog.sql
Database test data file (SQL data file): src/xiaoxiang_blog_data.sql
Some articles, comments, test accounts, etc. are built into the test data file (the copyright of the article belongs to the original author, and no communication was made during the excerpt) are used for testing. Some articles, comments, test accounts, etc. are built in the test data file (the copyright of the article belongs to the original author, and no communication is made during the extraction) for testing.
Admin config file: src/admin.properties
The administrator uses the form of registration, writes the administrator's account in the configuration file, and then goes to the registration page to register. After registration, it becomes the administrator. Or you can directly modify the database and change the role field to 1. The administrator uses the form of registration, writes the administrator's account in the configuration file, and then goes to the registration page to register. After registration, the administrator is the administrator. Or you can directly modify the database and change the role field to 1.
Log configuration file: src/logback.xml
Debug mode configuration file: src/minuhy/xiaoxiang/blog/config/DebugConfig.java
For log processing details, please refer to the configuration file. See the configuration file for log processing details.
Removable HTML test folder: WebContent/html
It contains the code when writing the front-end, and deletion does not affect normal use at all. It contains the code when writing the front end. Deleting it does not affect normal use at all.
Prefabricated picture folder: WebContent/img
Built-in icons, etc. for the system. Built-in some icons needed by the system.
Prefabricated avatar folder: WebContent/img/avatar
h001.png to h138.png are all avatar image files extracted from the QQ Android version installation package. The copyright explanation belongs to QQ. This project is only used for testing. Both h001.png and h138.png are avatar image files extracted from the QQ Android installation package. The copyright interpretation belongs to QQ. This project is only used for testing.
HTML Library Folder: WebContent/lib
All libraries are added to the project in the form of downloads, and the copyright of the code in the library belongs to the original author. All libraries are added to the project in the form of download, and the code copyright in the library belongs to the original author.
HTML css js folder (Folder): WebContent/lib/xiaoxiang
The js and css I wrote are stored here. My js and css file in this.
JSP common page: WebContent/partial
Including header, footer, navigation bar, etc. Include page head, page foot and nav.
JSP Admin page: WebContent/admin
All JSP files for the administrator page. All admin page in this.
commons-fileupload-1.5 https://commons.apache.org/proper/commons-fileupload/
commons-io-2.11.0 https://commons.apache.org/proper/commons-io/
druid-1.2.16 https://github.com/alibaba/druid
fastjson-1.2.83 https://github.com/alibaba/fastjson
mysql-connector-java-5.1.49 https://dev.mysql.com/blog-archive/mysql-connector-j-5-1-49-ga-has-been-released/
logback-classic-1.2.11 https://logback.qos.ch/download.html
logback-core-1.2.11 https://logback.qos.ch/download.html
slf4j-api-1.7.36 https://www.slf4j.org/download.html
bootstrap-3.4.1 https://getbootstrap.com/docs/3.4/
doT-1.1.3 https://github.com/olado/doT
html5shiv-3.7.3 https://github.com/aFarkas/html5shiv
jquery-1.12.4 https://jquery.com/
response.js-1.4.2 https://github.com/scottjehl/Respond
summernote-v0.8.20 https://summernote.org/