package ServletHandle;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.*;
public class UserHandle extends HttpServlet {
HttpServletRequest request;
HttpServletResponse response;
DAL.User user=new DAL.User();
//通过表单get方式传值 将进入doGet函数(method="get")
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.response=response;
this.request=request;
int handleType=Integer.parseInt(request.getParameter("type").toString());
switch (handleType) {
case 1://类型1代表删除表中的数据
deleteEntity();
break;
case 4://类型4代表获取表中信息
getEntity();
break;
case 5://类型5代表根据查询条件获取表中信息
getEntityByWhere();
break;
default:
break;
}
}
//通过表单post方式传值 将进入doPost函数(method="post")
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.request=request;
this.response=response;
int handleType=Integer.parseInt(request.getParameter("type").toString());//将前台页面传过来的type类型转化成整型
switch (handleType) {
case 2://类型2代表更新表中的数据
updateEntity();
break;
case 3://类型3代表向表中添加数据
insertEntity();
break;
case 6://类型6代表向更改密码
chagePwd();
break;
case 7://类型7代表用户更新个人数据
updateEntity();
break;
case 8://用户注册
register();
default:
break;
}
}
//更改密码
private void chagePwd() throws IOException
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
HttpSession session=request.getSession();
String userId=session.getAttribute("user_id").toString();
String oldPwd=new String(request.getParameter("OldPwd").getBytes("ISO8859_1"),"UTF-8");
String newPwd=new String(request.getParameter("NewPwd").getBytes("ISO8859_1"),"UTF-8");
if(user.checkPwd(userId, oldPwd))
{
if(user.updataPwd(userId, newPwd))
{
out.write("<script>alert('密码更改成功');location.href='/Parking/Common/UserInfo.jsp'</script>");
}
else {
out.write("<script>alert('密码更改失败');location.href='/Parking/Common/ChagePwd.jsp'</script>");
}
}
else {
out.write("<script>alert('原始密码错误,请重新输入');location.href='/Parking/Common/ChagePwd.jsp'</script>");
}
}
//用户注册
private void register() throws UnsupportedEncodingException, IOException
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
String UserId=new String(request.getParameter("user_id").getBytes("ISO8859_1"),"UTF-8");
String RoleId=new String(request.getParameter("role_id").getBytes("ISO8859_1"),"UTF-8");
String UserName=new String(request.getParameter("user_name").getBytes("ISO8859_1"),"UTF-8");
String RealName=new String(request.getParameter("real_name").getBytes("ISO8859_1"),"UTF-8");
String UserPwd=new String(request.getParameter("user_pwd1").getBytes("ISO8859_1"),"UTF-8");
String UserPhone=new String(request.getParameter("user_phone").getBytes("ISO8859_1"),"UTF-8");
if(!user.checkExist(UserId))
{
if(user.insertEntity(UserId,RoleId,UserName,RealName,UserPwd,UserPhone)==1)
{
SimpleDateFormat dateFormat =new SimpleDateFormat("yyyyMMddHHmmss");
String AId=dateFormat.format(new Date());
//Account account=new Account();
//account.insertEntity(AId, UserId, "0","2015-12-30");
out.write("<script>alert('恭喜你,注册成功~'); location.href = '/Parking/Login.jsp';</script>");
}
}
else {
out.write("<script>alert('您注册的登陆账号已存在,请重新注册!'); location.href = '/Parking/Login.jsp';</script>");
}
}
//删除数据操作
private void deleteEntity() throws IOException
{
String user_id=request.getParameter("user_id");//获取前台通过get方式传过来的JId
user.deleteEntity(user_id);//执行删除操作
response.sendRedirect("/Parking/UserHandle?type=4");//删除成功后跳转至管理页面
}
//更新数据操作
private void updateEntity() throws UnsupportedEncodingException
{
String user_id=new String(request.getParameter("user_id").getBytes("ISO8859_1"),"UTF-8");
String role_id=new String(request.getParameter("role_id").getBytes("ISO8859_1"),"UTF-8");
String user_name=new String(request.getParameter("user_name").getBytes("ISO8859_1"),"UTF-8");
String real_name=new String(request.getParameter("real_name").getBytes("ISO8859_1"),"UTF-8");
String user_pwd=new String(request.getParameter("user_pwd").getBytes("ISO8859_1"),"UTF-8");
String user_phone=new String(request.getParameter("user_phone").getBytes("ISO8859_1"),"UTF-8");
if(user.updateEntity(user_id,role_id,user_name,real_name,user_pwd,user_phone)==1)
{
try {
if(request.getSession().getAttribute("role_id").toString().equals("r001"))
{
response.sendRedirect("/Parking/UserHandle?type=4");//成功更新数据后跳转至UserInfo.jsp页面
}
else {
response.sendRedirect("/Parking/Common/UserInfo.jsp");//成功更新数据后跳转至UserInfo.jsp页面
}
} catch (IOException e) {
e.printStackTrace();//异常处理
}
}
}
//插入数据操作
private void insertEntity() throws UnsupportedEncodingException, IOException
{
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
String user_id=new String(request.getParameter("user_id").getBytes("ISO8859_1"),"UTF-8");
String role_id=new String(request.getParameter("role_id").getBytes("ISO8859_1"),"UTF-8");
String user_name=new String(request.getParameter("user_name").getBytes("ISO8859_1"),"UTF-8");
String real_name=new String(request.getParameter("real_name").getBytes("ISO8859_1"),"UTF-8");
String user_pwd=new String(request.getParameter("user_pwd").getBytes("ISO8859_1"),"UTF-8");
String user_phone=new String(request.getParameter("user_phone").getBytes("ISO8859_1"),"UTF-8");
if(!user.checkExist(user_id))
{
if(user.insertEntity(user_id,role_id,user_name,real_name,user_pwd,user_phone)==1)
{
out.write("<script>alert('数据添加成功!'); location.href = '/Parking/UserHandle?type=4';</script>");
}
else {
out.write("<script>alert('数据添失败!'); location.href = '/Parking/UserHandle?type=4';</script>");
}
}
else {
out.write("<script>alert('主键重复,数据添加失败!'); location.href = '/Parking/UserHandle?type=4';</script>");
}
}
//获取对象所有数据列表
private void getEntity() throws ServletException, IOException
{
request.setCharacterEncoding("UTF-8");
int page=request.getParameter("page")==null?1:Integer.parseInt(request.getParameter("page").toString());//获取跳转的页面号
int totalPage=Integer.parseInt(user.getPageCount().toString()) ;//获取分页总数
List<Object> list=user.getEntity(page);//获取数据列表
request.setAttribute("list",list);//将数据存放到request对象中,用于转发给前台页面使用
javaweb大作业:后台停车场管理系统,eclipse+servlet+jsp+mysql.zip
【JavaWeb后端停车场管理系统详解】 本项目是一个基于JavaWeb技术的后台停车场管理系统,采用Eclipse作为开发环境,Servlet作为服务器端控制层,JSP作为视图层进行展示,MySQL作为数据库存储数据。这个系统旨在模拟真实的停车场运营,提供车位预订、车辆进出管理、费用计算等功能,对于学习JavaWeb开发的学生来说,这是一个很好的实践项目。 1. **Eclipse IDE**: Eclipse是Java开发中广泛使用的集成开发环境(IDE),提供了代码编辑、调试、构建以及版本控制等多种功能。在这个项目中,开发者可以在Eclipse中编写、运行和测试Java代码,实现停车场管理系统的各个模块。 2. **Servlet技术**: Servlet是Java Web应用程序的核心部分,负责处理HTTP请求并生成响应。在本系统中,Servlet扮演了控制器的角色,接收前端JSP页面的请求,执行业务逻辑,然后将结果返回给JSP进行展示。通过使用Servlet,我们可以实现用户登录验证、车位查询、停车记录管理等功能。 3. **JSP技术**: JSP(JavaServer Pages)是用于动态生成HTML、XML或其他格式文档的网页技术。在本系统中,JSP主要负责页面的布局和用户交互,它能直接嵌入Java代码,实现动态内容的生成。例如,JSP可以用来显示停车场的空闲车位数量,或者用户预订车位后的确认信息。 4. **MySQL数据库**: MySQL是一个开源的关系型数据库管理系统,适合用于存储和处理大量数据。在这个停车场管理系统中,MySQL用于存储车位信息、用户信息、停车记录等数据。开发者需要设计合理的数据库表结构,并使用SQL语句进行数据的增删改查操作。 5. **系统架构**: 本系统遵循MVC(Model-View-Controller)设计模式,模型(Model)负责业务逻辑,视图(View)负责数据显示,控制器(Controller)负责协调模型和视图。Servlet充当控制器角色,处理用户请求并调用模型中的方法,JSP作为视图,展示数据。 6. **功能实现**: - **用户管理**:包括用户注册、登录、个人信息管理等。 - **车位管理**:显示停车场总车位、空车位,支持车位预订和释放。 - **车辆管理**:记录车辆进出时间,自动计算停车费用。 - **费用计算**:根据停车时长和收费标准,生成账单。 - **报表统计**:生成车位占用率、收入统计等报表。 7. **安全性考虑**: 系统应确保用户数据的安全,如使用加密技术保护密码,防止SQL注入攻击,以及对敏感操作进行权限控制。 8. **优化与扩展**: 可以考虑增加短信或邮件通知功能,实时提醒用户车位状态或账单信息;引入缓存技术提高系统性能;或者利用Spring Boot等框架简化开发,提高可维护性。 这个项目涵盖了JavaWeb开发的多个关键知识点,对于学习者而言,通过实际操作不仅能提升技术技能,还能增强解决实际问题的能力。在实际开发过程中,还需要结合项目需求进行详细的文档编写,确保系统的可读性和可维护性。
- 1
- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 粉丝: 5w+
- 资源: 2303
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PLL锁相环,CMOS模拟集成电路设计,模拟ic设计, PLL锁相环设计,PLL学习资料,非常适合初学者,包含有veriloga模型和testbench电路和仿真设计文档,非常详细和全面,能够快速上手
- comsol相场枝晶生长模拟,comsol 锂枝晶生长过程中施加温度场,锂枝晶生长comsol模型,考虑相场、浓度场、电化学场,相场锂枝晶(苔藓),多核锂枝晶生长Comsol仿真模型,定向凝固各向异性
- abaqus静力学动力学仿真分析,风振响应分析,脉动风模拟,光伏支架模态分析风致振动分析
- comsol 锂枝晶加流动耦合电势场,浓度场生长过程中添加流场,改变枝晶形貌 comsol 锂枝晶雪花枝晶Karma的焊接融池 comsol 锂枝晶模型 雪花枝晶Karma的焊接融池凝固枝晶生长相场
- C++程序,基于元胞自动机法模拟枝晶生长,能实现任意角度(偏心正方算法),同时采用LBM考虑了对流作用对枝晶生长的影响 comsol相场枝晶模拟,雪花,氯化na凝固经典模型,多枝晶随机扰动生长,三
- 永磁同步电机矢量控制C代码,采用S-function模式仿真 全部是从项目中总结得到,与实际项目运行基本一致,可以直接复制代码移植到工程实践项目中去 包含算法: FOC控制算法 弱磁 母线电流估算 经
- 基于Python的私人健康管理系统设计
- 四轮转向汽车Carsim-simulink联合仿真滑模控制模型(.cpar文件 .slx文件) 包含驾驶员模型,二自由度车辆模型,相关文献,技术文档,指导
- C#三轴涂胶软件源码,该软件已经在客户现场正常生产, 该软件具备一下功能: 1.可编辑轨迹的三轴插补功能 2.自动生成特定轨迹路线的功能 3.相机拿双Mark点轨迹纠偏功能 4.更针头后相机拿照对针头
- 永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(Matlab&Simulink实现)
- 基于MBD开发的电动汽车主驱电机控制器模型及开发材料(a38?),量产模
- 一个10bit SAR ADC电路,有200多页详细的设计和仿真文档,附带对应的gpdk045工艺,testbench都有,可直接导入virtuoso仿真
- V2G电动汽车双向充电桩电路仿真 交流侧采用普通三相桥式变电路,SVPWM控制生成开关信号,控制系统采用电压外环电流内环控制可实现整流,逆变以及指定功率输出,无功补偿直流侧为蓄电池电动汽车电池充放电模
- 基于优化算法的光伏发电系统仿真 在本项目中,设计了基于光伏系统(包括光伏,电池,转器,PI控制器,逆变器和充电控制)架构的Simulink模型 部署MPPT控制器 其次,将优化算法应用到MPPT控
- 风储调频模型 matlab simulink 风储联合调频,风电储能参与系统一次调频 风机内部结构详细,仿真速度快,同样适用于研究 附带参考文件
- 群晖 DSM DS 218 PLAY VERSION文件 (7.1.1版本)