ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Servlet+Jsp实现校园拾物招领系统

2022-06-25 12:32:42  阅读:105  来源: 互联网

标签:String list request method 拾物 Jsp 招领 import response


1.技术介绍
java+servlet+mysql+JSP
开发工具:eclipse或IDEA
2.主要功能说明:
1)学生
注册、登录、个人信息修改、查看公告、查看失物信息、我的失物信息、我要挂失、查看拾物信息、我的拾物信息、发布拾物信息、我的认领、留言列表、我的留言、我要留言
2)管理员
用户管理、公告管理、拾物管理、失物管理、认领管理、留言管理
3.部分代码展示:

```java
package controller;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.List;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import dao.GoodsDao;
import dao.UserDao;
import model.Goods;
import model.PageBean;
import model.Shiwu;
import model.User;
import utils.PageUtils;


/**
* Servlet implementation class GoodsServlet
*/
public class GoodsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private GoodsDao goodsDao=new GoodsDao();
private UserDao userDao=new UserDao();

public GoodsServlet() {
super();
// TODO Auto-generated constructor stub
}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String method=request.getParameter("method");
if(method!=null&&method.equals("addGoodsAct1")) {

Goods goods = fileUpload(request);
User user=(User) request.getSession().getAttribute("user");
goods.setU_id(user.getId());
boolean b=goodsDao.insertGoods(goods);//插入
if(b){
System.out.print(user.getId());
List<Goods> list=goodsDao.findMyInfo(goods.getU_id());
for(Goods g:list) {
User u =userDao.findById(g.getU_id());
g.setUser(u);
}
request.setAttribute("list", list);
request.getRequestDispatcher("/WEB-INF/users/goods_list.jsp").forward(request, response);
}
return;
}

if(method!=null&&method.equals("addGoodsAct2")) {

Goods goods = fileUpload(request);
boolean b=goodsDao.insertGoods(goods);//插入
if(b){
GoodsList2(request, response);
}

return;
}
if(method!=null&&method.equals("goodsListAct")) {

GoodsList(request,response);
return;
}
if(method!=null&&method.equals("goodsListAct1")) {

GoodsList1(request,response);
return;
}
//查询所有的失物信息
if(method!=null&&method.equals("goodsListAct2")) {
GoodsList2(request,response);

return;
}

if(method!=null&&method.equals("toAddGoodsAct1")) {
request.getRequestDispatcher("/WEB-INF/users/add_goods.jsp").forward(request, response);

return;
}
//跳转到添加页面
if(method!=null&&method.equals("toAddGoodsAct")) {
request.getRequestDispatcher("/WEB-INF/views/add_goods.jsp").forward(request, response);

return;
}

//跳转到更改界面
if(method!=null&&method.equals("queryGoodsAct")) {

int id=Integer.parseInt(request.getParameter("id"));
System.out.print(id+"****");
Goods record=goodsDao.findById(id);
request.setAttribute("list", record);
request.getRequestDispatcher("/WEB-INF/views/update_goods.jsp").forward(request, response);
return;
}

//删除物品
if(method!=null&&method.equals("deleteGoodsAct")) {
int id=Integer.parseInt(request.getParameter("id"));
String type=request.getParameter("type");
goodsDao.delete(id);
if(type.equals("1")) {
GoodsList1(request, response);
}else{
GoodsList2(request, response);
}

return;
}

if(method!=null&&method.equals("findByGnameAct")) {
String gname=request.getParameter("gname");
String lostPlace=request.getParameter("lostPlace");
System.out.print(lostPlace+"****");
List<Goods> list=goodsDao.findByGname(gname,lostPlace);
if(list.size()>0) {
request.setAttribute("list", list);
request.removeAttribute("msg");
request.getRequestDispatcher("/WEB-INF/views/list_goods.jsp").forward(request, response);
}else if(list.size()<=0) {

request.setAttribute("msg", "没有此物品信息");
request.getRequestDispatcher("/WEB-INF/views/list_goods.jsp").forward(request, response);
}

return;
}

if(method!=null&&method.equals("updateGoodsAct")) {
int id=Integer.parseInt(request.getParameter("id"));
String gname=request.getParameter("gname");
String lostPlace=request.getParameter("lostPlace");

String info=request.getParameter("info2");
System.out.print(info+"*****");
String createTime=request.getParameter("createTime");
String status=request.getParameter("status");
String phone=request.getParameter("phone");
Goods record=new Goods();
record.setGname(gname);
record.setLostPlace(lostPlace);

record.setInfo(info);
record.setPhone(phone);
record.setCreateTime(createTime);
record.setStatus(status);
record.setPhone(phone);

boolean b=goodsDao.updateGoods(record, id);//插入
if(b){
request.setAttribute("msg", "ok");
GoodsList2(request, response);
}else {
GoodsList2(request, response);
}


return;
}




}

private void GoodsList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String currentPage = request.getParameter("currentPage");
if (currentPage==null||currentPage.equals("")){
//如果第一次访问,没有传递currentPage参数,则当前页为1
currentPage="1";
}
//接收用户输入的每页显示数据的记录数
String pageSize = request.getParameter("pageSize");
//如果没有传递过来,设置一个默认值为2
//细节:当点击下一页或者别的,会导致pageSize丢失了,应该要带回去
if (pageSize==null||pageSize.equals("")){
//设置pageSize的默认值是2
pageSize="3";
}

//1)在service层调用获取PageBean对象的方法
PageUtils service = new PageUtils();
//只需要传入一个currentPage(当前页数)即可
PageBean pageBean = service.queryPageBean(currentPage,Integer.parseInt(pageSize));
//2)把PageBean对象放到域中
request.setAttribute("pageBean", pageBean);
request.getRequestDispatcher("/WEB-INF/users/list_goods.jsp").forward(request, response);

}
//用户查看
private void GoodsList1(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user =(User) request.getSession().getAttribute("user");
if(user!=null) {
List<Goods> list=goodsDao.findMyInfo(user.getId());
for(Goods g:list) {
User u =userDao.findById(g.getU_id());
g.setUser(u);
}
request.setAttribute("list", list);
request.getRequestDispatcher("/WEB-INF/users/goods_list.jsp").forward(request, response);
}else {
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('请先登录');");
out.write("location.href='GoodsServlet?method=loginOutAct'");
out.write("</script>");
out.close();
}
}
//管理员所有信息
private void GoodsList2(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String currentPage = request.getParameter("currentPage");
if (currentPage==null||currentPage.equals("")){
//如果第一次访问,没有传递currentPage参数,则当前页为1
currentPage="1";
}
//接收用户输入的每页显示数据的记录数
String pageSize = request.getParameter("pageSize");
//如果没有传递过来,设置一个默认值为2
//细节:当点击下一页或者别的,会导致pageSize丢失了,应该要带回去
if (pageSize==null||pageSize.equals("")){
//设置pageSize的默认值是2
pageSize="3";
}

//1)在service层调用获取PageBean对象的方法
PageUtils service = new PageUtils();
//只需要传入一个currentPage(当前页数)即可
PageBean pageBean = service.queryPageBean(currentPage,Integer.parseInt(pageSize));
//2)把PageBean对象放到域中
request.setAttribute("pageBean", pageBean);
//3)转发
request.getRequestDispatcher("/WEB-INF/views/goods_list.jsp").forward(request, response);

}


public String makeFileName(String filename){
String ext = filename.substring(filename.lastIndexOf(".") + 1);
return UUID.randomUUID().toString() + "." + ext;
}


private Goods fileUpload(HttpServletRequest request) {
Goods goods=new Goods();
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> list = upload.parseRequest(request);
for(FileItem item : list){
if(item.isFormField()){
String name = item.getFieldName();
String value = item.getString("UTF-8");
BeanUtils.setProperty(goods, name, value);
}else{
String filename = item.getName();
String savefilename = makeFileName(filename);
//String savepath="D:\\ws\\LostGoods\\WebContent\\upload\\";
String savepath= this.getServletContext().getRealPath("/upload");//Tomcat虚拟路径
InputStream in = item.getInputStream();
FileOutputStream out = new FileOutputStream(savepath + "\\" + savefilename);
int len = 0;
byte buffer[] = new byte[1024];
while((len = in.read(buffer)) > 0){
out.write(buffer, 0, len);
}
in.close();
out.close();
item.delete();
goods.setImgUrl(savefilename);

System.out.println(goods.getImgUrl());
}
}
return goods;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}

}

 

}

```
4.系统演示地址:
链接:https://pan.baidu.com/s/1r9wn0BGL7YXuGDYyq4v7fQ
提取码:f6e2

标签:String,list,request,method,拾物,Jsp,招领,import,response
来源: https://www.cnblogs.com/xiao123456789/p/16411118.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有