j2ee期末复习

整体结构

请添加图片描述
请添加图片描述
在这里插入图片描述

请添加图片描述

model / entity

public class Player {
    private Integer id;
    private String name;
    private String sex;
    private Integer age;
    private String address;
    private String hobby;

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

dao

public class DBUtil {
    public static Connection getConnection() {
        Connection con = null;
        try {
            String driver = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/mydb?characterEncoding=utf-8";
            String user = "root";
            String password = "";
            Class.forName(driver);
            if(null == con) {
                con = DriverManager.getConnection(url, user, password);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return con;
    }
}

service

public class PlayerService {
    public int insertPlayer(Player player){
        int ret = 0;
        try {
            Connection con = DBUtil.getConnection();
            String sql = "insert into player values(null,?,?,?,?,?)";
            PreparedStatement stm = con.prepareStatement(sql);
            stm.setString(1,player.getName());
            stm.setString(2,player.getSex());
            stm.setInt(3,player.getAge());
            stm.setString(4,player.getAddress());
            stm.setString(5,player.getHobby());
            ret = stm.executeUpdate();
            stm.close();
            con.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return ret;
    }

    public int deletePlayer(int id){
        int ret = 0;
        try {
            Connection con = DBUtil.getConnection();
            String sql = "delete from player where PlayerID = ?";
            PreparedStatement stm = con.prepareStatement(sql);
            stm.setInt(1,id);
            ret = stm.executeUpdate();
            stm.close();
            con.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return ret;
    }

    public int updatePlayer(Player player){
        int ret = 0;
        try {
            Connection con = DBUtil.getConnection();
            String sql = "update player set Name=?,Sex=?,Age=?,Address=?,Hobby=? where PlayerID=?";
            PreparedStatement stm = con.prepareStatement(sql);
            stm.setString(1,player.getName());
            stm.setString(2, player.getSex());
            stm.setInt(3,player.getAge());
            stm.setString(4, player.getAddress());
            stm.setString(5,player.getHobby());
            stm.setInt(6,player.getId());
            ret = stm.executeUpdate();
            stm.close();
            con.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return ret;
    }

    public List<Player> getAllPlayer() {
        List<Player> players = new ArrayList<Player>();
        try {
            Connection con = DBUtil.getConnection();
            String sql = "select * from player";
            Statement stm = con.createStatement();
            ResultSet rs = stm.executeQuery(sql);
            while (rs.next()) {
                Player player = new Player();
                player.setId(rs.getInt("PlayerID"));
                player.setName(rs.getString("Name"));
                player.setSex(rs.getString("Sex"));
                player.setAge(rs.getInt("Age"));
                player.setAddress(rs.getString("Address"));
                player.setHobby(rs.getString("Hobby"));
                players.add(player);
            }
            rs.close();
            stm.close();
            con.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return players;
    }
}

controller / servlet

@WebServlet(name = "AddServlet",urlPatterns = "/add")
public class AddServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Player player = new Player();
        player.setName(req.getParameter("name"));
        player.setSex(req.getParameter("sex"));
        player.setAge(Integer.parseInt(req.getParameter("age")));
        player.setAddress(req.getParameter("address"));
        String hobby = "";
        for (String s:req.getParameterValues("hobby")) {
            if(hobby.equals("")==false) hobby+=",";
            hobby+=s;
        }
        player.setHobby(hobby);
        PlayerService playerService = new PlayerService();
        int ret = playerService.insertPlayer(player);
        if(ret>0) resp.sendRedirect("list");
    }
}

@WebServlet(name = "DeleteServlet",urlPatterns = "/del")
public class DeleteServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        int id = Integer.parseInt(req.getParameter("id"));
        PlayerService playerService = new PlayerService();
        int ret = playerService.deletePlayer(id);
        if(ret>0) resp.sendRedirect("list");
    }
}
@WebServlet(name = "EditServlet",urlPatterns = "/edit")
public class EditServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Player player = new Player();
        player.setId(Integer.parseInt(req.getParameter("id")));
        player.setName(req.getParameter("name"));
        player.setSex(req.getParameter("sex"));
        player.setAge(Integer.parseInt(req.getParameter("age")));
        player.setAddress(req.getParameter("address"));
        String hobby = "";
        for (String s:req.getParameterValues("hobby")) {
            if(hobby.equals("")==false) hobby+=",";
            hobby+=s;
        }
        player.setHobby(hobby);
        PlayerService playerService = new PlayerService();
        int ret = playerService.updatePlayer(player);
        if(ret>0) resp.sendRedirect("list");
    }
}
@WebServlet(name = "ListServlet",urlPatterns = "/list")
public class ListServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PlayerService playerService = new PlayerService();
        List<Player> players = playerService.getAllPlayer();
        req.setAttribute("players",players);
        req.getRequestDispatcher("index.jsp").forward(req,resp);
    }
}

filter

@WebFilter(filterName = "CharacterFilter", urlPatterns = "/*")
public class CharacterFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        CharacterRequest characterRequest = new CharacterRequest(request);
        filterChain.doFilter(characterRequest, response);
    }

    @Override
    public void destroy() {

    }
}

class CharacterRequest extends HttpServletRequestWrapper {
    private HttpServletRequest request;

    public CharacterRequest(HttpServletRequest request) {
        super(request);
        this.request = request;
    }

    public String getParameter(String name) {
        String value = super.getParameter(name);
        if(value == null) return null;
        String method = super.getMethod();
        if("get".equalsIgnoreCase(method)) {
            try {
                value = new String(value.getBytes("iso-8859-1"),"utf-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return value;
    }
}

jsp

index.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<html>
<head>
    <title>成员信息</title>
    <style>
        table{
            width: 400px;
            border: 1px solid #000;
            border-collapse:collapse;
            margin: auto;
        }
        td,th{
            border: 1px solid #000;
            text-align: center;
        }
    </style>
</head>
<body>
<a href="add.jsp">添加</a>
<table>
    <tr>
        <th>姓名</th>
        <th>性别</th>
        <th>年龄</th>
        <th>住址</th>
        <th>兴趣</th>
        <th>修改</th>
        <th>删除</th>
    </tr>

    <c:forEach items="${players}" var="p">
        <tr>
            <td>${p.name}</td>
            <td>${p.sex}</td>
            <td>${p.age}</td>
            <td>${p.address}</td>
            <td>${p.hobby}</td>
            <td><a href="edit.jsp?id=${p.id}&name=${p.name}&sex=${p.sex}&age=${p.age}&address=${p.address}&hobby=${p.hobby}">修改</a></td>
            <td><a href="del?id=${p.id}" onclick="return confirm('确认要删除?')">删除</a></td>
        </tr>
    </c:forEach>


</table>
</body>
</html>

add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加成员</title>
</head>
<body>
<form action="/add" method="post" id="form">
    输入姓名:<input type="text" name="name" id="name"><br>
    输入性别:
    <input type="radio" name="sex" value=""><input type="radio" name="sex" value=""><br>
    输入年龄:<input type="text" name="age" id="age"><br>
    输入住址:
    <select name="address" id="address">
        <option value="成都">成都</option>
        <option value="绵阳">绵阳</option>
        <option value="德阳">德阳</option>
    </select>
    <br>
    输入兴趣:
    <input type="checkbox" name="hobby" value="篮球">篮球
    <input type="checkbox" name="hobby" value="足球">足球
    <input type="checkbox" name="hobby" value="羽毛球">羽毛球
    <br>
    <input type="submit" value="添加">
</form>

<%--js检验字段长度和年龄范围--%>
<script type="text/javascript">
    window.onload = function () {
        document.getElementById("form").onsubmit = function () {
            return checkName()&&checkAge();
        }
    }

    function checkName() {
        var name = document.getElementById("name").value;
        if(name.length>20) {
            alert("姓名长度不能超过20!");
            return false;
        }
        return true;
    }
    function checkAge() {
        var age = document.getElementById("age").value;
        if(age<1||age>100) {
            alert("年龄不在1-100范围内!");
            return false;
        }
        return true;
    }
</script>
</body>
</html>


edit.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改成员</title>
</head>
<body>
<%--<%--%>
<%--    Student stu=(Student) request.getAttribute("stu");--%>
<%--%>--%>

<form action="/edit" method="post" id="form">
    输入姓名:<input type="text" name="name" id="name" value="${param.name}"><br>
    输入性别:
    <input type="radio" name="sex" value="男" ${param.sex=="男"?"checked":""}>男
    <input type="radio" name="sex" value="女" ${param.sex=="女"?"checked":""}>女
    <br>
    输入年龄:<input type="text" name="age" id="age" value="${param.age}"><br>
    输入住址:
    <select name="address" id="address">
        <option value="成都" ${param.address=="成都"?"selected":""}>成都</option>
        <option value="绵阳" ${param.address=="绵阳"?"selected":""}>绵阳</option>
        <option  value="德阳" ${param.address=="德阳"?"selected":""}>德阳</option>
    </select>
    <br>
    输入兴趣:
    <input type="checkbox" name="hobby" value="篮球" ${param.hobby.contains("篮球")?"checked":""}>篮球
    <input type="checkbox" name="hobby" value="足球" ${param.hobby.contains("足球")?"checked":""}>足球
    <input type="checkbox" name="hobby" value="羽毛球" ${param.hobby.contains("羽毛球")?"checked":""}>羽毛球
    <br>
    <input type="hidden" name="id" value="${param.id}">
    <input type="submit" value="修改">

    <%--    ${requestScope.name}--%>
    <%--    ${sessionScope._name}--%>
</form>

<%--js检验字段长度和年龄范围--%>
<script type="text/javascript">
    window.onload = function () {
        document.getElementById("form").onsubmit = function () {
            return checkName()&&checkAge();
        }
    }

    function checkName() {
        var name = document.getElementById("name").value;
        if(name.length>20) {
            alert("姓名长度不能超过20!");
            return false;
        }
        return true;
    }
    function checkAge() {
        var age = document.getElementById("age").value;
        if(age<1||age>100) {
            alert("年龄不在1-100范围内!");
            return false;
        }
        return true;
    }
</script>
</body>
</html>


web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <welcome-file-list>
        <welcome-file>list</welcome-file>
    </welcome-file-list>
</web-app>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值