基于SSM的JSP+MYSQL在线教学管理系统ssh三层
"基于JSP的教学在线留言答疑系统-java教学在线留言答疑系统mysql数据源
项目描述:学生在课后,可以通过该网站提出问题留言,教师登录后可以选择回答。系统分为管理员、学生、教师。学生针对课程进行提问留言,查看系统所有的留言。教师对自己所授课程留言进行回答管理学生权限。管理员负责对系统进行管理。
技术描述:使用MVC模式进行设计项目架构,使用JavaEE核心技术Servlet+Jsp+Filter, 使用Filter设置编码和权限校验。前端使用Bootstrap和JQuery发送Ajax发送异步请求。对较多数据自定义PageModel进行分页。
——————————————————————————————————
随着Intenet的发展,远程教育也得到了进一步的发展,并且成为了现代教学中的一个部分。其中发展最快的为网络在线教学系统,它使得学生和老师的交流不用局限于地理位置。也使得教育资源得到了更有效的利用。在网络在线教学系统中,在线答疑系统就成为了网络在线教学系统中的重要组成部分。 传统的答疑形式要求学生和老师在地理位置和时间上的配合,在网络在线教学系统中,师生的双向交流则要求在线答疑系统能够排除掉地理位置和时间的局限。是网络在线教学系统中的一个重要部分。答疑系统也是在线教学系统自动性的重要体现。
——————————————————————————————————
系统没用任何框架,前台纯JSP实现,后台servlet映射,适合刚学习J2EE的新手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat7,JDK版本1.7. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离,
具体功能这里不再赘述,请下方看系统详细演示图,如果大家有什么疑问或者什么不懂得可以在下方给我留言,也可以私信我和我一起交流沟通,互相学习进步!代码you’chang
好了下面让我来给大家展示一下这个项目的页面效果:
代码已经上传github,下载地址https://github.com/21503882/teaching
1.包含源程序,数据库脚本。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。
开发环境:
Eclipse ,MySQL 5.1,JDK1.7,Tomcat 7
涉及技术点:
MVC模式、JavaWeb、JDBC、HTML、CSS、JQUERY、Bootstrap、json、PageModel分页、等。
图4.1 超级管理员功能模块图
图4.2 老师功能模块图
图4.3 学生功能模块图
package com.bysj.work.nsfz.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.config.AlipayConfig;
import com.bysj.work.nsfz.model.Order;
import com.bysj.work.nsfz.model.Product;
import com.bysj.work.nsfz.model.ShopCart;
import com.bysj.work.nsfz.model.User;
import com.bysj.work.nsfz.model.UserCart;
import com.bysj.work.nsfz.service.BillService;
import com.bysj.work.nsfz.service.OrderService;
import com.bysj.work.nsfz.service.ProductService;
import com.bysj.work.nsfz.service.ShopCartService;
import com.bysj.work.nsfz.service.UserService;
import com.bysj.work.nsfz.util.PageUtils;
@Controller
public class OrderController {
@Autowired
private ShopCartService shopcartService;
@Autowired
private ProductService productService;
@Autowired
private UserService userService;
@Autowired
private OrderService orderService;
@Autowired
private BillService billService;
@RequestMapping("Onepay")
public String Onepay(Order order,HttpSession session,HttpServletRequest request) throws AlipayApiException{
System.out.println("333333333333"+order);
int userId=(int) session.getAttribute("userId");
int productId=(int) session.getAttribute("productId");
Product product=productService.getOneproduct(productId);
order.setUserId(userId);
order.setProductName(product.getProductName());
order.setProductImg(product.getProductImg());
order.setOrderPrice(product.getTprice()*order.getQuantity());
String result1="";
Random random = new Random();
for (int j=0;j<9;j++)
{
result1+=random.nextInt(10);
}
int orderCode=Integer.parseInt(result1);
order.setOrderCode(orderCode);
int upOrderId=orderService.insertOrder(order);
//支付宝
AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
//设置请求参数
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
alipayRequest.setReturnUrl(AlipayConfig.return_url);
alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
//商户订单号,商户网站订单系统中唯一订单号,必填
Integer aDouble=(int)(Math.random()*1000000000);
String aString=aDouble.toString();
String out_trade_no = aString;
//付款金额,必填
User userById = userService.getUserById(userId);
String total_amount ="0.1";
//订单名称,必填
String subject=userById.getUserName()+"的订单";
//商品描述,可空
String body = "我是商品描述";
alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
+ "\"total_amount\":\""+ total_amount +"\","
+ "\"subject\":\""+ subject +"\","
+ "\"body\":\""+ body +"\","
+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
//请求
String result = alipayClient.pageExecute(alipayRequest).getBody();
request.setAttribute("form", result);
//输出
System.out.println(result);
//更改刚插入的订单状态
// orderService.insertPayOrder(upOrderId);
//生成账单
session.setAttribute("upOrderId", upOrderId);
//key为假代表单个商品结算
session.setAttribute("key", false);
//根据用户id查购物车表
return "pay";
}
@RequestMapping("pay")
public String pay(Order order,HttpSession session,HttpServletRequest request) throws AlipayApiException{
List<Integer> orderIdlist=new ArrayList<>();
// //根据用户id查用户表
// User orderuser=userService.getUserById(userId);
int userId=(int) session.getAttribute("userId");
List<UserCart> list=shopcartService.getCartInformation(userId);
for(UserCart icart:list){
order.setUserId(userId);
order.setProductName(icart.getProductName());
order.setProductImg(icart.getProductImg());
order.setQuantity(icart.getQuantity());
int productId=icart.getProductId();
Product product=productService.getProductInformation(productId);
order.setOrderPrice(product.getTprice());
Random random = new Random();
String result1="";
for (int j=0;j<9;j++)
{
result1+=random.nextInt(10);
}
int orderCode=Integer.parseInt(result1);
order.setOrderCode(orderCode);
int oreder3Id=orderService.insertOrder(order);
orderIdlist.add(oreder3Id);
}
session.setAttribute("orderIdlist", orderIdlist);
System.out.println("==================");
//支付宝
AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
//设置请求参数
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
alipayRequest.setReturnUrl(AlipayConfig.return_url);
alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
//商户订单号,商户网站订单系统中唯一订单号,必填
Integer aDouble=(int)(Math.random()*1000000000);
String aString=aDouble.toString();
String out_trade_no = aString;
//付款金额,必填
User userById = userService.getUserById(userId);
String total_amount ="0.1";
//订单名称,必填
String subject=userById.getUserName()+"的订单";
//商品描述,可空
String body = "我是商品描述";
alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
+ "\"total_amount\":\""+ total_amount +"\","
+ "\"subject\":\""+ subject +"\","
+ "\"body\":\""+ body +"\","
+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
//请求
String result = alipayClient.pageExecute(alipayRequest).getBody();
request.setAttribute("form", result);
//输出
System.out.println(result);
//更改刚刚的订单信息
//key为真代表多个商品结算
session.setAttribute("key", true);
//根据用户id查购物车表
return "pay";
}
@RequestMapping("orderlist")
public String orderlist(String currentPage,HttpSession session,HttpServletRequest request){
int userId=(int) session.getAttribute("userId");
List<Order> list=orderService.findUserOrder(userId);
int count=list.size();
request.setAttribute("count", count);
request.setAttribute("list", list);
int pageSize=4;
PageUtils util = new PageUtils(currentPage, count, pageSize);
request.setAttribute("util", util);
return "orderlist";
}
@RequestMapping("cancelorder")
public String cancelorder(Integer orderId,HttpServletRequest request){
orderService.cancel(orderId);
billService.del(orderId);
return "forward:/orderlist";
}
@RequestMapping("ordergoods")
public String ordergoods(Integer orderId,HttpServletRequest request){
orderService.ordergoods(orderId);
return "forward:/orderlist";
}
@RequestMapping("ceshi")
public String ceshi(HttpSession session){
session.setAttribute("upOrderId", 147);
return "paysuccess";
}
@ResponseBody
@RequestMapping("changeOrderTypelist")
public Integer changeOrderTypelist(HttpSession session){
List<Integer> list=(List<Integer>) session.getAttribute("orderIdlist");
for(int i=0;i<list.size();i++){
orderService.changeOrderType(list.get(i));
}
return 1;
}
}
package com.bysj.work.nsfz.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.bysj.work.nsfz.model.Address;
import com.bysj.work.nsfz.model.User;
import com.bysj.work.nsfz.model.UserAddress;
import com.bysj.work.nsfz.service.AddressService;
import com.bysj.work.nsfz.service.UserService;
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private AddressService addressService;
@RequestMapping("login")
public String login(String mobile,String password,HttpSession session,HttpServletRequest request){
User user=new User();
user.setMobile(mobile);
user.setPassword(password);
user=userService.find(user);
if(user!=null){
int useType=user.getUseType();
if(useType==0){
int userId=user.getUserId();
String userName=user.getUserName();
session.setAttribute("userName", userName);
session.setAttribute("userId", userId);
return "../../index";
}else{
request.setAttribute("msg", "该用户已被禁用!");
return "../../login";
}
}
request.setAttribute("msg", "用户名或者密码错误!");
return "../../login";
}
@RequestMapping("register")
public String register(User user,HttpSession session){
/*User user=new User();
user.setMobile(userAddress.getMobile());
user.setPassword(userAddress.getPassword());
user.setUserName(userAddress.getUserName());*/
userService.insert(user);
session.setAttribute("userName", user.getUserName());
session.setAttribute("userId", user.getUserId());
/* Address address=new Address();
addressService.insertById(user.getUserId(), userAddress.getAddress(), userAddress.getPostcode());*/
return "../../index";
}
@RequestMapping("userData")
public String userData(HttpSession session,HttpServletRequest request){
int userId=(int) session.getAttribute("userId");
User user=userService.getUserById(userId);//得到用户名和手机号
Address address=addressService.getAddressById(userId);
request.setAttribute("user", user);
request.setAttribute("address", address);
return "userData";
}
@RequestMapping("changeuserData")
public String changeuserData(HttpSession session,String userName,Integer postcode,String address,String mobile){
int userId=(int) session.getAttribute("userId");
userService.changeUserById(userId,userName,mobile);
Address address2=addressService.getAddressById(userId);
if (address2!=null) {
addressService.changeAddressById(userId,address,postcode);
}else{
addressService.insertById(userId,address,postcode);
}
return "forward:/userData";
}
@RequestMapping("checkmyMobile")
@ResponseBody
public int checkMobile(String mobile){
/*System.out.println("进入方法了");*/
User user=userService.checkMobile(mobile);
/*System.out.println("4=========="+user);*/
if(user==null){
//该用户没有注册返回1
return 1;
}
return 0;
}
}
代码已经上传github,下载地址https://github.com/21503882/teaching