基于javaweb+mysql的jsp+servlet旅游推荐系统(java+servlet+html+jdbc+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet旅游推荐系统(java+servlet+html+jdbc+mysql)
项目介绍
旅游推荐网分为前后台,普通用户在前台登录,功能如下:登录、查看热门景点推荐、景点详情、动态查看、联系我们、留言等 管理员通过后台登录,功能如下:登录、留言评审管理、景区管理、用户管理、系统统计等
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目: 否;
技术栈
Servlet、JSP、JDBC、MySQL5.7、Tomcat8
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,然后运行; 3. 将项目中src/com/dao/DB.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入地址; 前台地址:http://localhost:8080/lvyou/qianduan/index.html 普通社员账号:zhangsan 密码:123456
后台地址:http://localhost:8080/lvyou/admin/index.html 管理员账号:admin 密码:admin
jingdian.setErji(erji);
jingdian.setId(id);
jingdian.setJianjie(jianjie);
jingdian.setJianjietu(jianjietu);
jingdian.setLishi(lishi);
jingdian.setLishitu(lishitu);
jingdian.setName(name);
jingdian.setSanji(sanji);
jingdian.setTechang(techang);
jingdian.setTechangtu(techangtu);
jingdian.setWenhua(wenhua);
jingdian.setWenhuatu(wenhuatu);
jingdian.setYiji(yiji);
jingdian.setIsremeng(isremeng);
list.add(jingdian);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
Map<String,Object> pageInfo = PagesMap.getpagesJingdianMaps(list, pn);
out.println(JSONObject.fromObject(Msg.success().add("list", pageInfo)));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
Statement stmt1 = conn1.createStatement();
String sql = "select * from pinglun where jindian_id = '"+id+"'";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
PinglunBo pinglun = null;
while(result.next()) {
pinglun = new PinglunBo();
int id1 = result.getInt("id");
int userId = result.getInt("user_id");
String sql1 = "select * from user where id= '"+userId+"'";
ResultSet result1 = stmt1.executeQuery(sql1);
String username = null;
while(result1.next()) {
username = result1.getString("username");
}
pinglun.setId(id1);
pinglun.setDetails(result.getString("details"));
pinglun.setUsername(username);
pinglun.setTime(result.getString("creattime"));
list.add(pinglun);
}
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.println(JSONObject.fromObject(Msg.success().add("list", list)));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
*/
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UserServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("我进来了。。。。");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
int pn = Integer.parseInt(request.getParameter("pn"));
System.out.println("pn:"+pn);
List<User> list = new ArrayList<User>();
JdbcUtils jdbcUtils = new JdbcUtils();
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
String sql = "select * from user";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
User user = null;
while(result.next()) {
user = new User();
int id = result.getInt("id");
String username = result.getString("username");
String password = result.getString("password");
user.setId(id);
user.setUsername(username);
user.setPassword(password);
list.add(user);
}
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
* @see HttpServlet#HttpServlet()
*/
public SelAllPinglunServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("我进来了。。。。");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
int pn = Integer.parseInt(request.getParameter("pn"));
System.out.println("pn:"+pn);
List<PinglunBo> list = new ArrayList<PinglunBo>();
JdbcUtils jdbcUtils = new JdbcUtils();
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
Connection conn1 = jdbcUtils.getConnection();
Statement stmt1 = conn1.createStatement();
Connection conn2 = jdbcUtils.getConnection();
Statement stmt2 = conn2.createStatement();
String sql = "select * from pinglun";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
PinglunBo pinglun = null;
while(result.next()) {
pinglun = new PinglunBo();
int id = result.getInt("id");
int userId = result.getInt("user_id");
String sql1 = "select * from user where id= '"+userId+"'";
ResultSet result1 = stmt1.executeQuery(sql1);
String username = null;
while(result1.next()) {
username = result1.getString("username");
}
int jingdianId = result.getInt("jindian_id");
String sql2 = "select * from scenic_spot where id='"+jingdianId+"'";
ResultSet result2 = stmt2.executeQuery(sql2);
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String yiji = request.getParameter("yiji");
String erji = request.getParameter("erji");
String sanji = request.getParameter("sanji");
List<Jingdian> list = new ArrayList<Jingdian>();
JdbcUtils jdbcUtils = new JdbcUtils();
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
String sql = "select * from scenic_spot where yiji= '"+yiji+"' and erji= '"+erji+"' and sanji= '"+sanji+"'";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
Jingdian jingdian = null;
while(result.next()) {
jingdian = new Jingdian();
int id = result.getInt("id");
String name = result.getString("name");
String yiji1 = result.getString("yiji");
String erji1 = result.getString("erji");
String sanji1 = result.getString("sanji");
String jianjie = result.getString("jianjie");
String jianjietu = result.getString("jianjietu");
String wenhua = result.getString("wenhua");
String wenhuatu = result.getString("wenhuatu");
String lishi = result.getString("lishi");
String lishitu = result.getString("lishitu");
String techang = result.getString("techang");
String techangtu = result.getString("techangtu");
jingdian.setErji(erji1);
jingdian.setId(id);
jingdian.setJianjie(jianjie);
jingdian.setJianjietu(jianjietu);
jingdian.setLishi(lishi);
jingdian.setLishitu(lishitu);
jingdian.setName(name);
jingdian.setSanji(sanji1);
jingdian.setTechang(techang);
jingdian.setTechangtu(techangtu);
jingdian.setWenhua(wenhua);
jingdian.setWenhuatu(wenhuatu);
jingdian.setYiji(yiji1);
list.add(jingdian);
}
} catch (ClassNotFoundException | SQLException e) {
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class SelOneByIdServlet
* 根据id查询景点
*/
public class SelOneByIdServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SelOneByIdServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
item.write(new File(savePath+jianjietu));//保存文件
}else if("lishitu".equals(fieldName)) {
lishitu = "/images/commodity/images/"+filename;
item.write(new File(savePath+lishitu));//保存文件
}else if("wenhuatu".equals(fieldName)) {
wenhuatu = "/images/commodity/images/"+filename;
item.write(new File(savePath+wenhuatu));//保存文件
}else if("techangtu".equals(fieldName)) {
techangtu = "/images/commodity/images/"+filename;
item.write(new File(savePath+techangtu));//保存文件
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
//保存信息
String sql = "INSERT INTO scenic_spot (yiji, erji,sanji,name,jianjie,lishi,wenhua,techang,jianjietu,lishitu,wenhuatu,techangtu,isremeng)"
+ "VALUES ('"+yiji+"', '"+erji+"','"+sanji+"','"+name+"','"+jianjie+"','"+lishi+"','"+wenhua+"','"+techang+"','"+jianjietu+"','"+lishitu+"','"+wenhuatu+"','"+techangtu+"',0)";
JdbcUtils jdbcUtils = new JdbcUtils();
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
int dept = stmt.executeUpdate(sql);
if(dept==1) {
out.println("添加成功!!");
return;
}else {
out.println("添加失败!!");
return;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("yiji:" + yiji);
System.out.println("erji:" + erji);
System.out.println("sanji:" + sanji);
System.out.println("name:" + name);
System.out.println("jianjie:" + jianjie);
System.out.println("lishi:" + lishi);
System.out.println("wenhua:" + wenhua);
System.out.println("techang:" + techang);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class RsgServlet
* 用后注册
*/
public class RsgServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RsgServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class SelOneByIdServlet
jingdian.setLishi(lishi);
jingdian.setLishitu(lishitu);
jingdian.setName(name);
jingdian.setSanji(sanji1);
jingdian.setTechang(techang);
jingdian.setTechangtu(techangtu);
jingdian.setWenhua(wenhua);
jingdian.setWenhuatu(wenhuatu);
jingdian.setYiji(yiji1);
list.add(jingdian);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
out.println(JSONObject.fromObject(Msg.success().add("list", list)));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class UpdjingdianServlet
* 更新景点信息
*/
public class UpdjingdianServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UpdjingdianServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("我来了。。。");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
String lishitu = result.getString("lishitu");
String techang = result.getString("techang");
String techangtu = result.getString("techangtu");
jingdian.setErji(erji1);
jingdian.setId(id);
jingdian.setJianjie(jianjie);
jingdian.setJianjietu(jianjietu);
jingdian.setLishi(lishi);
jingdian.setLishitu(lishitu);
jingdian.setName(name);
jingdian.setSanji(sanji1);
jingdian.setTechang(techang);
jingdian.setTechangtu(techangtu);
jingdian.setWenhua(wenhua);
jingdian.setWenhuatu(wenhuatu);
jingdian.setYiji(yiji1);
list.add(jingdian);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
Map<String,Object> pageInfo = PagesMap.getpagesJingdianMaps(list, 1);
out.println(JSONObject.fromObject(Msg.success().add("list", pageInfo)));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
Map<String,Object> pageInfo = PagesMap.getpagesJingdianMaps(list, pn);
out.println(JSONObject.fromObject(Msg.success().add("list", pageInfo)));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class JingdianAllServlet
* 前端按城市查询所有的景点
*/
public class JingdianAllServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public JingdianAllServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String yiji = request.getParameter("yiji"); //省
String erji = request.getParameter("erji"); //市
String sanji = request.getParameter("sanji"); //县
List<Jingdian> list = new ArrayList<Jingdian>();
JdbcUtils jdbcUtils = new JdbcUtils();
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
String sql = "select * from scenic_spot where yiji='"+yiji+"' and erji='"+erji+"' and sanji='"+sanji+"'";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
Jingdian jingdian = null;
while(result.next()) {
jingdian = new Jingdian();
int id = result.getInt("id");
String name = result.getString("name");
String yiji1 = result.getString("yiji");
String erji1 = result.getString("erji");
String sanji1 = result.getString("sanji");
String jianjie = result.getString("jianjie");
String jianjietu = result.getString("jianjietu");
String wenhua = result.getString("wenhua");
String wenhuatu = result.getString("wenhuatu");
String lishi = result.getString("lishi");
String lishitu = result.getString("lishitu");
String techang = result.getString("techang");
String techangtu = result.getString("techangtu");
jingdian.setErji(erji1);
jingdian.setId(id);
jingdian.setJianjie(jianjie);
jingdian.setJianjietu(jianjietu);
jingdian.setLishi(lishi);
jingdian.setLishitu(lishitu);
jingdian.setName(name);
jingdian.setSanji(sanji1);
jingdian.setTechang(techang);
jingdian.setTechangtu(techangtu);
jingdian.setWenhua(wenhua);
jingdian.setWenhuatu(wenhuatu);
jingdian.setYiji(yiji1);
liuyan.setTime(result.getString("creattime"));
liuyan.setUsername(username);
liuyan.setXinxi(result.getString("xinxi"));
list.add(liuyan);
}
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Map<String,Object> pageInfo = PagesMap.getpagesLiuyanMaps(list, pn);
out.println(JSONObject.fromObject(Msg.success().add("list", pageInfo)));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class AllpinglunServlet
* 前端显示景点评论
*/
public class AllpinglunServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* Servlet implementation class AllpinglunServlet
* 前端显示景点评论
*/
public class AllpinglunServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AllpinglunServlet() {
super();
// TODO Auto-generated constructor stub
/**
* @see HttpServlet#HttpServlet()
*/
public SeluserServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("我进来了。。。。");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String username1 = request.getParameter("username");
System.out.println("username:"+username1);
List<User> list = new ArrayList<User>();
JdbcUtils jdbcUtils = new JdbcUtils();
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
String sql = "select * from user where username = '"+username1+"'";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
User user = null;
while(result.next()) {
user = new User();
int id = result.getInt("id");
String username = result.getString("username");
String password = result.getString("password");
user.setId(id);
user.setUsername(username);
user.setPassword(password);
list.add(user);
}
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
*/
public TuServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("我进来了。。。。");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
JdbcUtils jdbcUtils = new JdbcUtils();
int renshu = 0;
int fangkeshu = 0;
int dianzanshu = 0;
try {
Connection conn = jdbcUtils.getConnection();
Statement stmt = conn.createStatement();
Connection conn1 = jdbcUtils.getConnection();
Statement stmt1 = conn1.createStatement();
Connection conn2 = jdbcUtils.getConnection();
Statement stmt2 = conn2.createStatement();
String sql = "select * from user";
ResultSet result = stmt.executeQuery(sql); //执行sql语句
while(result.next()) {
renshu = renshu + 1;
}
String sql1 = "select * from dianzan";
ResultSet result1 = stmt1.executeQuery(sql1); //执行sql语句
while(result1.next()) {
dianzanshu = dianzanshu + 1;
}
String sql2 = "select * from fankejilu where id = 1";
ResultSet result2 = stmt2.executeQuery(sql2); //执行sql语句
while(result2.next()) {