基于jsp+servlet+MVC的个人网站制作(发布文章+评论+点赞)+源码

个人网站(发布文章+评论+点赞)-网站制作说明

下载地址:https://download.****.net/download/qq_38275941/10881604

我的个人网站是以Tomcat为服务器,基于Model 1(JSP + Java Bean+servlet+mvc)的方式实现,数据库采用H2数据库。网站主要浏览文章,并且实现了增、删、改、查、分页等功能。
数据库结构:表名 user(用户) (userName varchar(32) primary key,password varchar(32),userImg blob);
表名article(文章), (articleid char(16) primary key auto_increment,title varchar(128),content text,submitTime bigint,watchNum int,praiseNum int,commentNum int ,userName varchar(32) ,foreign key(userName) references user(userName));
用户评论表 comment (commentid char(16) primary key auto_increment,articleid char(16),userName varchar(32),comment_content varchar(255),comment_time bigint,foreign key(articleid) references article(articleid),foreign key(userName) references user(userName));

包含的类:

Util.java工具类,将时间戳转换成年月日时分秒格式
MyFilter.java 过滤器类,设置request和response编码为utf-8
ArticleBean.Java 文章实体JavaBean类
CommentBean.java 文章评论JavaBean类
UserBean.java 用户实体JavaBean
ArticleDao.java 文章对应的操作数据库dao的层
CommentDao.java 文章评论的操作数据库dao的层
UserDao.java 用户对应的操作数据库dao的层
Servlet类
AddServlet.java 添加文章的Servlet类
DeleteServlet.java 删除文章的Servlet类
DetailServlet.java 显示文章详情的Servlet类
NextPageServlet.java 根据pages显示下一页文章的Servlet类
PraiseServlet.java 根据id对文章进行点赞的Servlet类
SearchServlet.java 根据search对文章进行搜索的Servlet类
UpdateServlet.java 根据id对文章进行修改或者添加的Servlet类
InsertCom.java 添加评论的Servlet类
DisplayImg.java 输出图片的Servlet类
Login.java 登录的Servlet类
Logout.java 退出登录。注销的Servlet类
Modify.java 对用户进行修改头像的Servlet类
MyInfo.java 显示用户评论和发布文章的Servlet类
Register.java 注册用户的Servlet类
JSP页面:
index.jsp 网站的首页,对文章的浏览和搜索
article.jsp 显示文章的详细信息,每进一次会对文章的浏览数加一,还可以对文章进行点赞,并且还可以添加文章或者对文章进行修改。
login.jsp 登录
modify.jsp 修改头像界面
myarticle.jsp 用户发布的文章
mycomment.jsp 用户评论过的文章
register.jsp 注册
search.jsp

基于jsp+servlet+MVC的个人网站制作(发布文章+评论+点赞)+源码

个人网站首页

基于jsp+servlet+MVC的个人网站制作(发布文章+评论+点赞)+源码
登录界面

基于jsp+servlet+MVC的个人网站制作(发布文章+评论+点赞)+源码
文章详情页

评论界面

遇到的问题以及解决办法

1.在使用jdbc查询数据库时,通过传参的方式来规定要排序的字段。我是使用了 String sql = “select * from article order by ? desc”;
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, column);
这种方法。结果会报错。
解决办法:
不要用占位符的方式。直接拼接SQL语句。
String sql = “select * from article order by “+column+” desc”;
2.在分页查询时,一开始以为limit 10,19的意思是得出10到19这个区间的数据,结果在网页上的第二页时显示出19个数据。
解决办法:
通过上网查出limit的用法,第二个参数是分页的大小
3.查询的时候,输入jsp并不会找到JSP。
解决办法:
Sql语句中有lower()函数可以在查询时将字段转换成小写。即可以实现忽略大小写查询。
4.在Html中用想div标签可以将文章的内容正确的显示出来,但是如果原文中有空格,显示的效果将不会有空格。
解决办法:
将div的white-space设置成 pre-wrap;就可以完美显示。
5.tomcat一直启动失败,错误如下,错误中并没有说那行代码有误
严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component
解决办法:
发现 少了一个“/”导致启动不了tomcat。
6.今天写网站的时候,更新了JavaScript,重启了项目什么都做了,但是再页面里,JavaScript就是不生效。浪费了贼多时间。
解决办法:
在浏览器中shift+F5进行强制刷新才有效。

源码连接:下载地址

https://download.****.net/download/qq_38275941/10881604