本例在已经有项目代码基础上扩展,
参考本贴的准备工作部分
完成后结构图
brand-demo模块
因为要用到JSON语句,所以要导入JSON的坐标,maven的pom.xml最后如下
4.0.0 org.example brand-demo 1.0-SNAPSHOT war 8 8 org.mybatis mybatis 3.5.10 mysql mysql-connector-java 8.0.29 javax.servlet javax.servlet-api 4.0.1 provided javax.servlet.jsp jsp-api 2.2 provided jstl jstl 1.2 taglibs standard 1.1.2 com.alibaba fastjson 2.0.7 org.apache.tomcat.maven tomcat7-maven-plugin 2.2
mybatis-config.xml也给一个,数据库的数据自行准备
文章目录
查询功能
不安思路分步了,直接上完成态代码
写一个brand.html
Title
写对应的查询servlet
package com.diy.web;
import com.alibaba.fastjson.JSON;
import com.diy.pojo.Brand;
import com.diy.service.BrandService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.List;
@WebServlet("/queryAllServlet")
public class queryAllServlet extends HttpServlet {
//get a service object
private BrandService bsr = new BrandService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//query all brand info
List brands = bsr.selectAll();
//convert it to json, serialization
String jsonBrands = JSON.toJSONString(brands);
//response to html
resp.setContentType("text/json;charset=utf-8");
resp.getWriter().write(jsonBrands);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
写好servlet如果访问http://localhost:8080/brand-demo/servlet可以看到
list数据经json传给网页后,输出是一个数组的格式
访问http
添加功能
整个思路完成后的https://blog.csdn.net/ClarkGable/article/details/addBrand.html页面
添加品牌
添加品牌
对应的servlet
package com.diy.web;
import com.alibaba.fastjson2.JSON;
import com.diy.pojo.Brand;
import com.diy.service.BrandService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.BufferedReader;
import java.io.IOException;
@WebServlet("/addServlet")
public class addServlet extends HttpServlet {
//get a service object
private BrandService bsr = new BrandService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// String brandName = req.getParameter("brandName");
// System.out.println(brandName);
//1.through right way receive data in post
req.setCharacterEncoding("utf-8");
BufferedReader reader = req.getReader();
String data = reader.readLine();//no matter how long the data is ,it is one line
//2.convert to brand ob
Brand brand = JSON.parseObject(data, Brand.class);
System.out.println(brand);
//3.insert into database
bsr.add(brand);
//4.if no exception
resp.getWriter().write("1");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
访问添加功能的网址
提交后idea的控制台根据代码输出
有乱码,是我的系统环境原因,无法解决,但提交后的网页正常,因为代码里对应乱码有代码
数据库里也是正常的
直接在数据库改了一下内容
完



