基于javaweb的火车票预订系统(java+jdbc+jsp+servlet+html+mysql)

基于javaweb的火车票预订系统(java+jdbc+jsp+servlet+html+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220519192719

20220519192721

20220519192723

20220519192725

20220519192727

20220519192729

20220519192731

基于javaweb+jsp的火车票预订系统(java+JDBC+JSP+Servlet+html+mysql)

一、项目运行 环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP + Servlert + html+ css + JavaScript + JQuery + Ajax 等等;

个人中心Controller:

/**

  • 个人中心Controller

*/

@Controller

public class UserInforController {

@Autowired

private UserInforServiceImpl userInforService = null;

/**

  • 修改密码操作

  • @param oldPassword

  • @param newPassword

  • @param rePassword

  • @param httpSession

  • @return

*/

@RequestMapping(“changePassword.do”)

@ResponseBody

public Map<String, String> changePassword(String oldPassword, String newPassword,

String rePassword, HttpSession httpSession){

HashMap<String, String> map = new HashMap<String, String>();

if (newPassword.equals(rePassword)){

SystemManager admin = (SystemManager) httpSession.getAttribute(“admin”);

String encodeByMD5 = MD5Utils.encodeByMD5(oldPassword);

if (encodeByMD5.equals(admin.getSmPassword())){

String newPasswords = MD5Utils.encodeByMD5(newPassword);

admin.setSmPassword(newPasswords);

userInforService.updateSystemManagePassword(admin.getSmId(),admin);

map.put(“type”,“success”);

map.put(“msg”,“密码修改成功”);

return map;

}else{

map.put(“type”,“error”);

map.put(“msg”,“原密码错误”);

return map;

}else{

map.put(“type”,“error”);

map.put(“msg”,“两次密码不一致”);

return map;

/**

  • 员工修改个人密码

  • @param oldPassword

  • @param newPassword

  • @param rePassword

  • @param httpSession

  • @return

*/

@RequestMapping(“changeEmployeePassword.do”)

@ResponseBody

public Map<String, String> changeEmployeePassword(String oldPassword, String newPassword,

String rePassword, HttpSession httpSession){

HashMap<String, String> map = new HashMap<String, String>();

if (newPassword.equals(rePassword)){

Integer eid = (Integer) httpSession.getAttribute(“employeeId”);

try {

userInforService.updateEmployeePassword(eid, oldPassword, newPassword);

map.put(“type”,“success”);

map.put(“msg”,“密码修改成功”);

return map;

} catch (CustomException e) {

map.put(“type”,“error”);

map.put(“msg”,“原密码错误”);

return map;

}else{

map.put(“type”,“error”);

map.put(“msg”,“两次密码不一致”);

return map;

/**

  • 查看个人信息

  • @param httpSession

  • @return

*/

@RequestMapping(“inforEmployee.do”)

public @ResponseBody EmployeeCustomVo getInforEmployee(HttpSession httpSession){

Integer id = (Integer) httpSession.getAttribute(“employeeId”);

EmployeeCustomVo employeeCustomVo = userInforService.getInforEmployee(id);

return employeeCustomVo;

/**

  • 修改个人信息

  • @param httpSession

  • @param employee

  • @return

*/

@ResponseBody

@RequestMapping(“updateInforEmployee.do”)

public Message updateInforEmployee(HttpSession httpSession, Employee employee){

Integer id = (Integer) httpSession.getAttribute(“employeeId”);

employee.seteId(id);

if(userInforService.updateEmploueeById(id,employee)<=0) {

return Message.error(“修改信息失败”);

return Message.success();

/**

  • 个人工资信息

  • @param pageNum

  • @param limit

  • @param year

  • @param httpSession

  • @return

  • @throws Exception

*/

@RequestMapping(“employeeSalaryList.do”)

@ResponseBody

public EmployeeSalaryVO findSelective(

@RequestParam(value=“page”, defaultValue=“1”)int pageNum,

@RequestParam(value=“limit”, defaultValue=“10”) int limit,

@RequestParam(value=“year”, defaultValue=“1”) String year,

HttpSession httpSession) throws Exception {

Integer eId = (Integer) httpSession.getAttribute(“employeeId”);

//pageNum:起始页面 pageSize:每页的大小

PageHelper.startPage(pageNum,limit);

//查找条件,一定要紧跟在startPage后

List salaryList = userInforService.getEmployeeSalaryList(eId, year);

PageInfo pageResult = new PageInfo(salaryList);

//设置前台需要的数据

EmployeeSalaryVO employeeSalaryVO = new EmployeeSalaryVO();

employeeSalaryVO.setCode(0);

employeeSalaryVO.setMsg(“”);

employeeSalaryVO.setCount((int) pageResult.getTotal());

employeeSalaryVO.setData(pageResult.getList());

return employeeSalaryVO;

管理员和员工登陆控制:

/**

  • @Author: admin

  • @Descriiption: 管理员和员工登陆控制

**/

@Controller

public class LoginController {

@Autowired

private LoginServiceImpl loginService = null;

/**

  • @Author: admin

  • @Descriiption: 验证码变更

  • @Date: 14:33 2021/10/5

  • @Param: [request, response]

  • @Return: void

**/

@RequestMapping(value = “/changeCode.do”)

@ResponseBody

public void getIdentifyingCode(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

// 验证码存储在session的identifyingCode,属性中

CaptchaUtil.outputCaptcha(request, response);

// 获取员工登陆界面

@RequestMapping(“/”)

public String getLoginPage(){

return “employee/login.html”;

// 获取管理员登陆界面

@RequestMapping(“/admin.do”)

public String getAdminLoginPage(HttpServletRequest request){

String realPath = request.getServletContext().getRealPath(“/”);

request.getSession().setAttribute(“realPath”, realPath);

return “admin/adminLogin.html”;

/**

  • 员工登录操作

  • @param model

  • @param httpSession

  • @param username

  • @param password

  • @param identifyingcode

  • @return

*/

@RequestMapping(value = “/employeeLogin.do”)

@ResponseBody

public Message employeeLogin(HttpSession httpSession, String username,

String password, String identifyingcode)

if(StringUtils.isEmpty(username)) {

return Message.error(“请填写工号”);

if(StringUtils.isEmpty(password)) {

return Message.error(“请填写密码”);

if(StringUtils.isEmpty(identifyingcode)) {

return Message.error(“请填写验证码”);

String code = (String) httpSession.getAttribute(“identifyingCode”);

if(!identifyingcode.equalsIgnoreCase(code)){

return Message.error(“验证码错误”);

Employee employee = loginService.findEmployeeByIdAndPassword(username, password);

if(employee==null) {

return Message.error(“工号或密码错误”);

httpSession.setAttribute(“employeeId”,employee.geteId());

return Message.success(“员工登录成功”);

@RequestMapping(value = “/loginSuccess.do”)

public String loginSucceses(Model model) throws Exception

return “employee/index.html”;

/**

  • 管理员登录操作

  • @param model

  • @param httpSession

  • @param username

  • @param password

  • @param identifyingcode

  • @return

*/

@RequestMapping(value = “/adminLogin.do”)

@ResponseBody

public Message adminLogin(HttpSession httpSession, String username,

String password, String identifyingcode)

if(StringUtils.isEmpty(username)) {

return Message.error(“请填写账号”);

if(StringUtils.isEmpty(password)) {

return Message.error(“请填写密码”);

if(StringUtils.isEmpty(identifyingcode)) {

return Message.error(“请填写验证码”);

String code = (String) httpSession.getAttribute(“identifyingCode”);

if(identifyingcode.equalsIgnoreCase(code)){

SystemManager manager = loginService.findSystemManagerByIdAndPassword(username, password);

if(manager==null) {

return Message.error(“账号或密码错误”);

// 保存到session

httpSession.setAttribute(“admin”,manager);

return Message.success(“登录成功”);

}else {

return Message.error(“验证码错误”);

@RequestMapping(value = “/getAdminAccount.do”)

@ResponseBody

public String getAdminAccount(HttpSession httpSession){

SystemManager systemManager = (SystemManager) httpSession.getAttribute(“admin”);

// SystemManager manager = loginService.findSystemManagerById(id);

return systemManager.getSmAccount();

@RequestMapping(value = “/getEmployeeAccount.do”)

@ResponseBody

public Map<String,String> getEmployeeAccount(HttpSession httpSession){

Integer id = (Integer) httpSession.getAttribute(“employeeId”);

Employee employee = loginService.findEmployeeById(id);

HashMap<String, String> map = new HashMap<String, String>();

map.put(“account”,employee.geteAccount());

map.put(“name”,employee.geteName());

return map;

@RequestMapping(value = “/logout.do”)

public String logout(HttpSession httpSession){

httpSession.removeAttribute(“employeeId”);

return “redirect:/”;

@RequestMapping(value = “/logoutAdmin.do”)

public String logoutAdmin(HttpSession httpSession){

httpSession.removeAttribute(“admin”);

return “redirect:/admin.do”;

用户管理操作:

/**

  • 用户管理操作

*/

@Controller

@RequestMapping(“/user”)

public class UserController {

@Autowired

private UserService userService;

/**

  • 用户添加页面

  • @return

*/

@GetMapping(“/add”)

public String create() {

return “user/add”;

/**

  • 用户添加操作

  • @param user

  • @return

*/

@PostMapping(“/add”)

@ResponseBody

public Map<String, Object> add(@RequestBody User user) {

if(StringUtils.isEmpty(user.getUserName())){

return MapControl.getInstance().error(“请填写用户名”).getMap();

if(StringUtils.isEmpty(user.getName())){

return MapControl.getInstance().error(“请填写名称”).getMap();

if(StringUtils.isEmpty(user.getUserPwd())){

return MapControl.getInstance().error(“请填写密码”).getMap();

int result = userService.create(user);

if (result <= 0) {

return MapControl.getInstance().error().getMap();

return MapControl.getInstance().success().getMap();

/**

  • 根据id删除

  • @param id

  • @return

*/

@PostMapping(“/delete/{id}”)

@ResponseBody

public Map<String, Object> delete(@PathVariable(“id”) Integer id) {

int result = userService.delete(id);

if (result <= 0) {

return MapControl.getInstance().error().getMap();

return MapControl.getInstance().success().getMap();

//批量删除

@PostMapping(“/delete”)

@ResponseBody

public Map<String, Object> delete(String ids) {

int result = userService.delete(ids);

if (result <= 0) {

return MapControl.getInstance().error().getMap();

return MapControl.getInstance().success().getMap();

/**

  • 编辑用户信息操作

  • @param user

  • @return

*/

@PostMapping(“/edit”)

@ResponseBody

public Map<String, Object> edit(@RequestBody User user) {

if(StringUtils.isEmpty(user.getUserName())){

return MapControl.getInstance().error(“请填写用户名”).getMap();

if(StringUtils.isEmpty(user.getName())){

return MapControl.getInstance().error(“请填写名称”).getMap();

if(StringUtils.isEmpty(user.getUserPwd())){

return MapControl.getInstance().error(“请填写密码”).getMap();

int result = userService.update(user);

if (result <= 0) {

return MapControl.getInstance().error().getMap();

return MapControl.getInstance().success().getMap();

/**

  • 根据id查询,跳转修改页面

  • @param id

  • @param modelMap

  • @return

*/

@GetMapping(“/edit/{id}”)

public String edit(@PathVariable(“id”) Integer id, ModelMap modelMap) {

User user = userService.detail(id);

modelMap.addAttribute(“user”, user);

return “user/edit”;

//查询所有

@PostMapping(“/query”)

@ResponseBody

public Map<String, Object> query(@RequestBody User user) {

List list = userService.query(user);

Integer count = userService.count(user);

return MapControl.getInstance().success().page(list, count).getMap();

//跳转列表页面

@GetMapping(“/list”)

public String list() {

return “user/list”;


  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网上订票系统 用到的技术为:javabean-servlet-jsp sql server 2000 数据库文件在WebRoot的DB文件中! 本系统实现了会员注册,会员登录,密码修改,以及会员信息的修改! 初步实现了在线订购,订单查询,班次查询以及系统管理--对火车信息的添加等。 操作过程: 首先,应导入到myeclipse中,将该系统发布到tomcat中,并启动tomcat! 接着在360浏览器中输入http://localhost:8080/bookonline/login.jsp 管理员的帐号为:guanliyuan 密码为:123456789 用户帐号为:987654321 密码为:987654321 当然可以在登录界面中点击注册链接,跳转到注册页面中进行注册(注:只能注册用户的,没有管理员注册!这是该系统中的一个问题)。 登录进去后进入主界面main.jsp中。在该界面中,可以点击修改用户信息,密码等链接,管理员还可以点击添加火车信息的链接。当然还可以查看火车信息。(注:只有在查询后,才能进行订票)。 注: 用到的页面 login.jsp——登录界面,可以链接到注册用户的界面。用admin字段来标识是否为管理员。其中有一个用户为987654321密码为987654321,另一个为管理员guanliyuan密码为123456789 register.jsp——用户注册页面,默认的所有注册方式为用户,即所有的用户admin为0。而管理员事先设置好了,即admin为1。 registerfailed.jsp registersuccess.jsp——为注册成功或失败时用到的页面 main.jsp——为系统主页面,在这里可以链接到订票,查询,修改信息,修改密码,管理员添加火车信息等。该页面用到了专题咨询里面的主框架结构,和部分代码。 queryfailed.jsp——当查询失败时所连接到的界面 addtrain.jsp——管理员添加火车信息时的页面 adderror.jsp——用户点击添加火车信息时产生的错误界面 showticket.jsp——显示火车票信息,此时可以进行订票。 bookfailes.jsp booksuccess.jsp——订票成功或失败时所链接的界面。 view.jsp——浏览火车票信息。 modifyinfo.jsp——修改用户信息,在这里不可能更改密码,以及权限。 passwordmodify.jsp——修改密码!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值