JavaWeb期末复习

一、选择题

1、一个Servlet可以被映射的虚拟路径个数是( D )。
A、0
B、1
C、2
D、多

2、 下列方法中,哪个不是Servlet接口中的方法( D )。
A、init
B、service
C、getServletInfo
D、getServlet

3、以下哪个是Web服务器( C )。
A、JCreator
B、JBuilder
C、Tomcat
D、Eclipse

4、在表单里,用于发送敏感数据的方法( B )。
A.GET
B.POST
C.PUT
D.OPTIONS

5、下面哪个方法当服务器关闭时被调用,用来释放Servlet所占用的资源( D )。
A、service()
B、doPost()
C、close()
D、destroy()

6、Servlet中的数据能与JSP共享吗?( A )。
A.能,我们可以将Servlet中的数据放入HttpSession,在JSP页面中使用其相对应的内置对象得到我们Servlet中的数据。
B. 不能,HttpSession无法在JSP和Servlet直接传递数据。
C. 不能,我们可以将Servlet中的数据放入HttpServletRequest,在JSP页面中使用其相对应的内置对象得到我们Servlet中的数据。
D.不能,HttpServletRequest无法在JSP和Servlet直接传递数据

7、关于JSP的运行原理,下列说法正确的是( A )。
A、JSP本质上是一个Servlet
B、JSP本质上是一个class文件       
C、Servlet容器不能运行JSP
D、上面都是错的

8、启动tomcat 的命令( C )。
A. shutdown.bat
B.javac.exe
C. startup.bat
D. startup.exe

9、下列选项中不属于Servlet生命周期的方法是( D )。
A、init
B、service
C、destroy
D、getServletInfo

10、下列选项中,在web.xml中配置定义Servlet,包括Servlet的名称和Servlet的实现类的结点是( A )。
A、<Servlet>
B、<Servlet-config>
C、<Servlet-mapping>
D、<web-app>

11、 在J2EE中,在一个JSP文件中,有表达式<%=2+3 %>,它将输出( B )。
A、2+3
B、5
C、23
D、输出报错

12、创建Servlet后可以在以下那个文件中对Servlet进行配置( A )。
A、web.xml
B、application.xml
C、config.xml
D、web-config.xml

13、关于get方式提交和post方式提交,说法错误的是( D )。
A.post比get安全且post接收的长度比较长。
B.post是以表单的形式提交请求的,get是以浏览器的形式提交请求的,所以get比较快。
C.post更容易解决我们的中文乱码问题。
D. form的method属性如果不指定,也默认为post请求。

14、在配置Servlet是,可以使用一下哪个注解来映射路径( D )。
A、@Controller
B、@WebService
C、@WebFilter
D、@WebServlet

15、下列不是JSP隐式对象的是( C )。
A、Request
B、out
C、Context
D、Session

16、JSTL是JSP标准标签库,其中用于数据库访问的标签库,前缀是( D )。
A. c
B. x
C. fmt
D. sql

17、在login.JSP中存在以下代码

<form action=”login”  method=”post”>
	<input type=”text”  name=“yourname”  id=“myName”  value= “username”>
<form>

当表单被提交时,下列选项可以获取到input框的值的是( B )。
A、request.getParameter(“username”)
B、request.getParameter(“yourname”)
C、request.getParameter(“name”)
D、request.getParameter(“myName”)

18、 内建对象request,封装了来至用户的请求,其中返回客户端Cookie的方法是( A )。
A、getCookies
B、getMethod
C、getAttribute
D、setAttribute


二、判断题

  1. doDestroy()不是servlet的内置方法。 对

    Destroy()是servlet内置方法
    
  2. tomcat是一个开源的免费的Web 服务器,它支持javaEE所有规范。错

    只支持部分JavaEE规范
    
  3. form的method属性如果不指定,也默认为post请求。 错

    method方法,默认为get请求
    
  4. post比get安全且post接收的长度比较长。 对

  5. Post属于表单的隐式提交信息方法。 对

  6. 表单提交的信息就封装在HTTP请求消息的信息体部分,用户使用request对象的getParameter方法可以得到通过表单提交的信息。 对

  7. getgetAttribute (“”)返回一个Object类型对象。 对

  8. session对象可以用来保存用户会话期间需要保存的数据信息。 对

  9. Servlet能脱离服务器运行。 错

    不能脱离
    
  10. 在Servlet生命周期中,destroy方法只能被调用一次。 对

  11. 使用response.sendRedirect(“”)来实现重定向。 对

  12. 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。 对

  13. respone对象主要用于向客户端发送数据。 对

  14. 在Servlet生命周期中,service方法只被调用一次。 错

    除了Init和Destory执行一次,service方法执行多次
    
  15. 一个Servlet只能映射一个虚拟路径 错

    映射多个路径
    

三、填空题

  1. 表单标记中的 action 属性用于指定处理表单数据程序url的地址。
  2. form的method属性如果不指定,默认为 GET 请求。
  3. get请求比post请求
  4. JSP本质上是一个 servlet
  5. 生成的Cookie存储在 浏览器
  6. Servlet中使用 getSession 方法获取Session对象。
  7. Servlet接口只定义了一个服务方法是 service
  8. getAttribute (“”) 返回一个 Object 类型。
  9. page指令中的import 属性可以在页面中出现 次。
  10. <url-pattern>里面的内容必须以 / 开头。

四、代码题(员工管理系统)

采用MVC三层架构

总体建包样式:
在这里插入图片描述

首先建立连接数据库部分:在这里一般会遇到的问题可能就是,mysql驱动的问题;一定要记得释放资源

  • 一般 8 版本之后的用com.mysql.cj.jdbc.Driver
  • 一般 5 版本的用com.mysql.jdbc.Driver

DBUtil.java

package com.blb.util;

import java.sql.*;

/**
 * 数据库工具类,连接数据库
 */
public class DBUtil {

    //   加载驱动
    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    //定义数据库初始信息
    private final static String user = "xxxx";
    private final static String password = "xxxxxxxx";
    private final static String url = "jdbc:mysql://localhost:3306/xxx?characterEncoding=utf-8&serverTimezone=GMT%2B8";

    //连接数据库
    public static Connection getConnection() {

        try {
            return DriverManager.getConnection(url, user, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return null;
    }

    //资源释放
    public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (ps != null) {
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    //    重载资源释放方法
    public static void close(Connection conn, PreparedStatement ps) {

        close(conn, ps, null);
    }
}

分别建立我们的管理员和员工类(entity

User.java

package com.blb.entity;

/**
 *实体类User,封装属性和方法
 */
public class User {

    private int id;     //主键,唯一
    private String username;   //用户名
    private String password;   //密码

    /**
     * 全参构造
     * @param id
     * @param username
     * @param password
     */
    public User(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

Emp.java

package com.blb.entity;

public class Emp {

    private int id;
    private String erpName;
    private String deptName;

    public Emp(String erpName, String deptName) {
        this.erpName = erpName;
        this.deptName = deptName;
    }

    public Emp(int id, String erpName, String deptName) {
        this.id = id;
        this.erpName = erpName;
        this.deptName = deptName;
    }

    public int getId() {
        return id;
    }

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

    public String getErpName() {
        return erpName;
    }

    public void setErpName(String erpName) {
        this.erpName = erpName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}

连接数据库之后,开始用JDBC对数据进行增删改查(dao

UserDao(接口)

package com.blb.dao;

import com.blb.entity.User;

public interface UserDao {

    //通过用户名获取用户,查询
    User getUserByUserName(User user);
    //新增用户
    boolean insertUser(User user);

}

EmpDao(接口)

package com.blb.dao;

import com.blb.entity.Emp;

import java.util.List;

public interface EmpDao {

    //查询所有的员工信息
    List<Emp> getAllErp();
    //查询详细员工信息
    Emp getEmpById(int id);

    //新增员工
    boolean insertEmp(Emp emp);

    //删除员工
    boolean delEmp(int id);

    //修改员工信息
    boolean updateEmp(Emp emp);
}

UserDaoImpl.java

package com.blb.dao.impl;

import com.blb.dao.UserDao;
import com.blb.entity.User;
import com.blb.util.DBUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * UserDao的实现类,做数据库表的增删改查
 */
public class UserDaoImpl implements UserDao {

    Connection conn = null;
    PreparedStatement ps = null;
    ResultSet rs =null;

    /**
     * 通过用户名从数据库查询用户信息,并返回
     * idea提示快捷键alt+enter
     * @param user
     * @return
     */
    @Override
    public User getUserByUserName(User user) {
        //写数据查询
        //获取连接
        conn = DBUtil.getConnection();
        User user1 = null;
        //Sql语句
        String sql = "select * from user where u_name = ?";
        try {
            //预编译
            ps=conn.prepareStatement(sql);
            //值的插入
            ps.setString(1,user.getUsername());
            //查询
            rs = ps.executeQuery();
            while (rs.next()){
                int id = rs.getInt("id");
                String username = rs.getString("u_name");
                String password = rs.getString("u_pwd");

                //实例化User对象
                user1 = new User(id,username,password);
                //System.out.println(user1);

            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return user1;
    }

    @Override
    public boolean insertUser(User user) {

        conn = DBUtil.getConnection();
        String sql = "insert into user (u_name,u_pwd) values(?,?)";
        //
        try {
            ps = conn.prepareStatement(sql);
            ps.setString(1,user.getUsername());
            ps.setString(2,user.getPassword());
            int count = ps.executeUpdate();
            return count>0;
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return false;
    }
}

EmpDaoImpl.java

package com.blb.dao.impl;

import com.blb.dao.EmpDao;
import com.blb.entity.Emp;
import com.blb.util.DBUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class EmpDaoImpl implements EmpDao {

    Connection conn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;

    /**
     * 查询所有员工信息
     *
     * @return 存储员工对象的集合
     */
    @Override
    public List<Emp> getAllErp() {

        List<Emp> emps = new ArrayList<>();
        conn = DBUtil.getConnection();
        String sql = "select * from erp";
        try {
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();

            while (rs.next()) {
                int id = rs.getInt("s_id");
                String erpName = rs.getString("s_name");
                String deptName = rs.getString("dept_name");

                Emp emp = new Emp(id, erpName, deptName);
                emps.add(emp);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return emps;
    }

    /**
     * 通过id查询对应员工的详细信息
     * @param id
     * @return emp对象
     */
    @Override
    public Emp getEmpById(int id) {

        conn = DBUtil.getConnection();
        String sql = "Select * from erp where s_id = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1, id);
            rs = ps.executeQuery();

            while (rs.next()){
                int sid = rs.getInt("s_id");
                String erpName = rs.getString("s_name");
                String deptName = rs.getString("dept_name");
                Emp emp = new Emp(sid,erpName,deptName);
                return emp;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 新增员工
     * @param emp
     * @return 布尔信息
     */
    @Override
    public boolean insertEmp(Emp emp) {

        conn = DBUtil.getConnection();
        String sql = "insert into erp (s_name,dept_name) values(?,?)";
        try {
            ps = conn.prepareStatement(sql);
            ps.setString(1,emp.getErpName());
            ps.setString(2,emp.getDeptName());
            int count = ps.executeUpdate();
            return count>0;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

    /**
     * 删除员工
     * @param id
     * @return 布尔值
     */
    @Override
    public boolean delEmp(int id) {
        conn  = DBUtil.getConnection();
        String sql = "delete from erp where s_id = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1,id);
            int count = ps.executeUpdate();
            return count>0;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

    @Override
    public boolean updateEmp(Emp emp) {

        conn = DBUtil.getConnection();
        String sql = "update erp set s_name =? , dept_name = ? where s_id = ?";
        try {
            ps = conn.prepareStatement(sql);
            ps.setString(1,emp.getErpName());
            ps.setString(2,emp.getDeptName());
            ps.setInt(3,emp.getId());
            int count = ps.executeUpdate();
            return  count>0;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }
}

service层

UserService(接口)

package com.blb.service;

import com.blb.entity.User;

/**
 * service接口,一个login(登录判断)
 */
public interface UserService {

    //user其实是servlet获取到的用户信息,封装的user对象
    boolean login(User user);

    //注册方法
    boolean register(User user);
}

EmpService(接口)

package com.blb.service;

import com.blb.entity.Emp;

import java.util.List;

public interface EmpService {

    List<Emp> getAllErp();
    Emp getEmpById(int id);
    boolean insertEmp(Emp emp);
    boolean delEmp(int id);
    boolean updateEmp(Emp emp);
}

UserServiceImpl.java

package com.blb.service.impl;

import com.blb.dao.UserDao;
import com.blb.dao.impl.UserDaoImpl;
import com.blb.entity.User;
import com.blb.service.UserService;

public class UserServiceImpl implements UserService {

    UserDao userDao = new UserDaoImpl();

    /**
     * 登录的实现方法
     * @param user
     * @return
     */
    @Override
    public boolean login(User user) {

        User user1 = userDao.getUserByUserName(user);
        if (user1==null){
            return false;
        }else if (!user.getPassword().equals(user1.getPassword())){
            return false;
        }
        return true;
    }

    /**
     * 注册的实现方法
     * @param user
     * @return
     */
    @Override
    public boolean register(User user) {

        System.out.println(userDao.getUserByUserName(user));
        if (userDao.getUserByUserName(user)!=null){
            return false;
        } if (userDao.insertUser(user)==false){
            return false;
        }
            return true;

    }
}

EmpServiceImpl.java

package com.blb.service.impl;

import com.blb.dao.EmpDao;
import com.blb.dao.impl.EmpDaoImpl;
import com.blb.entity.Emp;
import com.blb.service.EmpService;

import java.util.List;

public class EmpServiceImpl implements EmpService {

    EmpDao empDao = new EmpDaoImpl();
    @Override
    public List<Emp> getAllErp() {
        return empDao.getAllErp();
    }

    @Override
    public Emp getEmpById(int id) {
        return empDao.getEmpById(id);
    }

    @Override
    public boolean insertEmp(Emp emp) {
        return empDao.insertEmp(emp);
    }

    @Override
    public boolean delEmp(int id) {
        return empDao.delEmp(id);
    }

    @Override
    public boolean updateEmp(Emp emp) {
        return empDao.updateEmp(emp);
    }
}

Servlet层:对接我们的JSP页面

DoAddServlet.java

package com.blb.servlet;

import com.blb.entity.Emp;
import com.blb.service.EmpService;
import com.blb.service.impl.EmpServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/doAdd")
public class DoAddServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //获取jsp页面的员工信息
        String empName = req.getParameter("empName");
        String deptName = req.getParameter("deptName");
        //封装员工对象
        Emp emp = new Emp(empName,deptName);

        //实例化empService
        EmpService empService = new EmpServiceImpl();

        //获取新增结果
        boolean res = empService.insertEmp(emp);

        //如果成功,则返回首页,失败则提示信息
        if (res){
            req.getRequestDispatcher("/toIndex").forward(req,resp);
        }else{
            req.setAttribute("msg","新增失败");
            req.getRequestDispatcher("/add.jsp").forward(req,resp);
        }
    }
}

DoDeleteServlet.java

package com.blb.servlet;

import com.blb.service.EmpService;
import com.blb.service.impl.EmpServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/doDelete")
public class DoDeleteServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        int id = Integer.parseInt(req.getParameter("id"));
        EmpService empService = new EmpServiceImpl();

        boolean res = empService.delEmp(id);

        if(res){

            req.getRequestDispatcher("/toIndex").forward(req,resp);
        }else {
            req.setAttribute("msg","删除失败");
            req.getRequestDispatcher("/toIndex").forward(req,resp);
        }
    }
}

DoRegisterServlet.java

package com.blb.servlet;

import com.blb.entity.User;
import com.blb.service.UserService;
import com.blb.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/doRegister")
public class DoRegisterServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        UserService userService = new UserServiceImpl();
        //获取jsp页面数据
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        //实例化User对象
        User user = new User(username,password);

        boolean res = userService.register(user);
        System.out.println(res);

        if (res){
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }else {
            req.getRequestDispatcher("/register.jsp").forward(req,resp);
        }

    }
}

DoSelectServlet.java

package com.blb.servlet;

import com.blb.entity.Emp;
import com.blb.service.EmpService;
import com.blb.service.impl.EmpServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/doSelect")
public class DoSelectServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        HttpSession session = req.getSession();
        int id = Integer.parseInt(req.getParameter("id"));

        EmpService empService = new EmpServiceImpl();
        Emp emp = empService.getEmpById(id);

        session.setAttribute("emp",emp);
        req.getRequestDispatcher("/xq.jsp").forward(req,resp);
    }
}

DoUpdateServlet.java

package com.blb.servlet;

import com.blb.entity.Emp;
import com.blb.service.EmpService;
import com.blb.service.impl.EmpServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/doUpdate")
public class DoUpdateServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //获取jsp页面的员工信息
        String empName = req.getParameter("empName");
        String deptName = req.getParameter("deptName");
        int id = Integer.parseInt(req.getParameter("id"));
        //封装员工对象
        Emp emp = new Emp(id,empName,deptName);

        //实例化empService
        EmpService empService = new EmpServiceImpl();
        boolean res = empService.updateEmp(emp);
        if(res){

            req.getRequestDispatcher("/toIndex").forward(req,resp);
        }else {
            req.setAttribute("msg","更新失败");
            req.getRequestDispatcher("/toIndex").forward(req,resp);
        }
    }
}

IndexServlet.java

package com.blb.servlet;

import com.blb.entity.Emp;
import com.blb.service.EmpService;
import com.blb.service.impl.EmpServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;

@WebServlet("/toIndex")
public class IndexServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //
        HttpSession session = req.getSession();
        EmpService empService = new EmpServiceImpl();

        List<Emp> emps = empService.getAllErp();

        session.setAttribute("emps", emps);
        resp.sendRedirect("/User_demo_war_exploded/index.jsp");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

LoginServlet.java

package com.blb.servlet;

import com.blb.entity.User;
import com.blb.service.UserService;
import com.blb.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //实例化Service对象
        UserService userService = new UserServiceImpl();
        //从jsp页面的请求获取用户名和密码
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        //实例化User对象
        User user = new User(username,password);
        //登录判断
        boolean result = userService.login(user);
        if (result){
            req.setAttribute("username",username);
            req.getRequestDispatcher("/toIndex").forward(req,resp);
        }else {
            req.setAttribute("msg","用户名或密码错误");
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }

    }
}

ToAddServlet.java

package com.blb.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/toAdd")
public class ToAddServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.sendRedirect("/User_demo_war_exploded/add.jsp");
    }
}

ToRegisterServlet.java

package com.blb.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/toRegister")
public class ToRegisterServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.sendRedirect("/User_demo_war_exploded/register.jsp");
    }
}

JSP页面

添加用户:

<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
<form action="doAdd">
    姓名:<input type="text" name="empName"><br>
    部门:<select name="deptName">
    <option>人力资源</option>
    <option selected>市场</option>
    <option>财务</option>
    <option>研发部</option>
</select>
    <input type="submit" value="添加">
</form>
</body>
</html>

首页:

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  ${msg}
  <table border="1" cellpadding="0" cellspacing="0">
    <tr>
      <th>员工编号</th>
      <th>姓名</th>
      <th>部门名称</th>
      <th>操作</th>
    </tr>

    <c:forEach items="${emps}" var="emp">
      <tr>
        <td>${emp.id}</td>
        <td><a href="/User_demo_war_exploded/doSelect?id=${emp.id}">${emp.erpName}</a></td>
        <td>${emp.deptName}</td>
        <td><a href="/User_demo_war_exploded/doDelete?id=${emp.id}">删除</a>/
          <a href="/User_demo_war_exploded/doSelect?id=${emp.id}">修改</a></td>
      </tr>
    </c:forEach>

    <tr>
      <td colspan="4"><a href="/User_demo_war_exploded/toAdd">添加</a></td>
    </tr>
  </table>
  </body>
</html>

管理员登录:

<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="login" method="post">
    账号:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="登录">
</form>
<a href="/User_demo_war_exploded/toRegister">没有账号?去注册</a>

    <p><%=request.getAttribute("msg")%></p>

    <script>
        <%--如果p标签里面放的是空,我就改它的属性 display:none --%>
        <%--  获取元素  --%>
        var p = document.querySelector("p");
        if (p.innerHTML=="null"){
            p.style.display="none";
        }else {
            p.style.display="block";
        }

    </script>
</body>
</html>

管理员注册页面:

<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="doRegister">
    账号:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="注册">
</form>
</body>
</html>

修改员工信息页面:

<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="doUpdate">
    编号:<input type="text" value="${sessionScope.emp.id}" readonly name="id"><br>
    姓名:<input type="text" value="${sessionScope.emp.erpName}" name="empName"><br>
    部门:<input type="text" value="${sessionScope.emp.deptName}" name="deptName">
    <input type="submit" value="修改">
</form>
</body>
</html>

  • 12
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值