JDBC+Servlet

JDBC+Servlet

      1.创建数据库表

            create table t_student(
            t_stuid int primary key auto_increment,
            t_stuname varchar(20),
            t_stupass varchar(20),
            t_stuage int,
            t_stuaddress varchar(30)
            );

      2.创建javaweb项目StudentManger,[修改Content Root为student],修改工程访问名称

      3.导入第三方依赖【druid-1.1.10.jar  mysql-connector-java-5.1.38-bin.jar】

      4.在src下创建数据库连接配置文件【xxxxxxxx.properties】

           

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8

username=root

password=123456

initialSize=100

maxActive=300

maxWait=60000

      5.创建javabean

package com.wangxing.student.bean;
/**
 * 保存学生信息的javaBean
 * @author Administrator
 *
 */
public class StudentBean {
	private int stuid;
	private String stuname;
	private String stupass;
	private int stuage;
	private String stuaddress;
	public int getStuid() {
		return stuid;
	}
	public void setStuid(int stuid) {
		this.stuid = stuid;
	}
	public String getStuname() {
		return stuname;
	}
	public void setStuname(String stuname) {
		this.stuname = stuname;
	}
	public String getStupass() {
		return stupass;
	}
	public void setStupass(String stupass) {
		this.stupass = stupass;
	}
	public int getStuage() {
		return stuage;
	}
	public void setStuage(int stuage) {
		this.stuage = stuage;
	}
	public String getStuaddress() {
		return stuaddress;
	}
	public void setStuaddress(String stuaddress) {
		this.stuaddress = stuaddress;
	}
	
}

      6.创建数据访问接口以及实现类

package com.wangxing.student.dao;

import java.util.List;

import com.wangxing.student.bean.StudentBean;

/**
 * 学生信息数据访问接口
 * @author Administrator
 *
 */
public interface StudentDao {
	/**
	 * 添加学生信息
	 * @param studentbean
	 */
	public void insertStudent(StudentBean student)throws Exception;
	/**
	 * 删除学生信息
	 * @param id
	 * @throws Exception
	 */
	public void deleteStudentById(int stuid)throws Exception;
	/**
	 * 修改学生信息
	 * @param id
	 * @throws Exception
	 */
	public void updateStudentById(StudentBean student)throws Exception;
	/**
	 * 根据id查询学生信息
	 * @param stuid
	 * @return
	 * @throws Exception
	 */
	public StudentBean selectStudentById(int stuid)throws Exception;
	/**
	 * 查询所有学生信息
	 * @return
	 * @throws Exception
	 */
	public List<StudentBean> selectStudent()throws Exception;
}
package com.wangxing.student.dao.impl;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.sql.DataSource;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.wangxing.student.bean.StudentBean;
import com.wangxing.student.dao.StudentDao;

public class StudentDaoImpl implements StudentDao{
	private static StudentDaoImpl studentDao = null;
	//定义保存druid数据源对象
	private DataSource dataSource = null;
	private StudentDaoImpl(){
		if(dataSource == null){
			Properties pro = new Properties();
			InputStream inStream = this.getClass().getResourceAsStream("/mysqldata.properties");
			try {
				pro.load(inStream);
				dataSource = DruidDataSourceFactory.createDataSource(pro);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	public static StudentDaoImpl getStudentDaoImpl(){
		if(studentDao == null){
			studentDao = new StudentDaoImpl();
		}
		return studentDao;
	}
	
	@Override
	public void insertStudent(StudentBean student) throws Exception {
		Connection conn = dataSource.getConnection();
		String insert = "insert into t_student value(null,?,?,?,?);";
		PreparedStatement statement = conn.prepareStatement(insert);
		statement.setString(1, student.getStuname());
		statement.setString(2, student.getStupass());
		statement.setInt(3, student.getStuage());
		statement.setString(4, student.getStuaddress());
		int temp = statement.executeUpdate();
		statement.close();
		conn.close();
	}

	@Override
	public void deleteStudentById(int stuid) throws Exception {
		Connection conn = dataSource.getConnection();
		String delete = "delete from t_student where t_stuid=?;";
		PreparedStatement statement = conn.prepareStatement(delete);
		statement.setInt(1, stuid);
		int temp = statement.executeUpdate();
		statement.close();
		conn.close();
	}

	@Override
	public void updateStudentById(StudentBean student) throws Exception {
		Connection conn = dataSource.getConnection();
		String update = "update t_student set t_stuname=?,t_stupass=?,t_stuage=?,t_stuaddress=? where t_stuid=?;";
		PreparedStatement statement = conn.prepareStatement(update);
		statement.setString(1, student.getStuname());
		statement.setString(2, student.getStupass());
		statement.setInt(3, student.getStuage());
		statement.setString(4, student.getStuaddress());
		statement.setInt(5, student.getStuid());
		int temp = statement.executeUpdate();
		statement.close();
		conn.close();
	}

	@Override
	public StudentBean selectStudentById(int stuid) throws Exception {
		StudentBean student = null;
		Connection conn = dataSource.getConnection();
		String select = "select * from t_student where t_stuid=?;";
		PreparedStatement statement = conn.prepareStatement(select);
		statement.setInt(1, stuid);
		ResultSet resultSet = statement.executeQuery();
		if(resultSet.next()){
			int id = resultSet.getInt("t_stuid");
			String name = resultSet.getString("t_stuname");
			String pass = resultSet.getString("t_stupass");
			int age = resultSet.getInt("t_stuage");
			String address = resultSet.getString("t_stuaddress");
			student = new StudentBean();
			student.setStuid(id);
			student.setStuname(name);
			student.setStupass(pass);
			student.setStuage(age);
			student.setStuaddress(address);
		}
		resultSet.close();
		statement.close();
		conn.close();
		return student;
	}

	@Override
	public List<StudentBean> selectStudent() throws Exception {
		List<StudentBean> studentlist = new ArrayList<StudentBean>();
		Connection conn = dataSource.getConnection();
		String select = "select * from t_student;";
		PreparedStatement statement = conn.prepareStatement(select);
		ResultSet resultSet = statement.executeQuery();
		while(resultSet.next()){
			int id = resultSet.getInt("t_stuid");
			String name = resultSet.getString("t_stuname");
			String pass = resultSet.getString("t_stupass");
			int age = resultSet.getInt("t_stuage");
			String address = resultSet.getString("t_stuaddress");
			StudentBean student = new StudentBean();
			student.setStuid(id);
			student.setStuname(name);
			student.setStupass(pass);
			student.setStuage(age);
			student.setStuaddress(address);
			studentlist.add(student);
		}
		resultSet.close();
		statement.close();
		conn.close();
		return studentlist;
	}

}

      7.创建业务访问接口以及实现类

package com.wangxing.student.service;

import java.util.List;

import com.wangxing.student.bean.StudentBean;

public interface StudentService {
	/**
	 * 添加学生信息
	 * @param student
	 * @throws Exception
	 */
	public void insertStudent(StudentBean student)throws Exception;
	/**
	 * 修改学生信息
	 * @param student
	 * @throws Exception
	 */
	public void updateStudent(StudentBean student)throws Exception;
	/**
	 * 删除学生信息
	 * @param stuid
	 * @throws Exception
	 */
	public void deleteStudenetById(int stuid)throws Exception;
	/**
	 * 根据学号查询学生信息
	 * @param stuid
	 * @return
	 * @throws Exception
	 */
	public StudentBean selectStudentById(int stuid)throws Exception;
	/**
	 * 查询所有学生信息
	 * @return
	 * @throws Exception
	 */
	public List<StudentBean> selectStudent()throws Exception;
}
package com.wangxing.student.service.impl;

import java.util.List;

import com.wangxing.student.bean.StudentBean;
import com.wangxing.student.dao.StudentDao;
import com.wangxing.student.service.StudentService;

public class StudentServiceImpl implements StudentService{
	private StudentDao studentDao = null;
	public StudentServiceImpl(StudentDao studentDao){
		this.studentDao = studentDao;
	}
	@Override
	public void insertStudent(StudentBean student) throws Exception {
		studentDao.insertStudent(student);
		
	}

	@Override
	public void updateStudent(StudentBean student) throws Exception {
		studentDao.updateStudentById(student);
		
	}

	@Override
	public void deleteStudenetById(int stuid) throws Exception {
		studentDao.deleteStudentById(stuid);
		
	}

	@Override
	public StudentBean selectStudentById(int stuid) throws Exception {
		return studentDao.selectStudentById(stuid);
	}

	@Override
	public List<StudentBean> selectStudent() throws Exception {
		return studentDao.selectStudent();
	}

}

      8.创建具体业务处理的Servlet

package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.dao.impl.StudentDaoImpl;
import com.wangxing.student.service.StudentService;
import com.wangxing.student.service.impl.StudentServiceImpl;

/**
 * 处理删除操作的servlet
 * @author Administrator
 *
 */
public class StudentDeleteServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		int stuid = Integer.parseInt(req.getParameter("stuid"));
		StudentService studentService = new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());
		try {
			studentService.deleteStudenetById(stuid);
			resp.sendRedirect("studentselectlist");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			resp.sendRedirect("studentselectlist");
		}
	}

}
package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;
import com.wangxing.student.dao.impl.StudentDaoImpl;
import com.wangxing.student.service.StudentService;
import com.wangxing.student.service.impl.StudentServiceImpl;
/**
 * 处理添加操作的servlet
 * @author Administrator
 *
 */
public class StudentInsertServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String stuname = req.getParameter("username");
		String stupass = req.getParameter("password");
		int stuage = Integer.parseInt(req.getParameter("stuage"));
		String stuaddress = req.getParameter("stuaddress");
		StudentBean student = new StudentBean();
		student.setStuname(stuname);
		student.setStupass(stupass);
		student.setStuage(stuage);
		student.setStuaddress(stuaddress);
		StudentService studentService = new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());
		try {
			studentService.insertStudent(student);
			resp.sendRedirect("studentselectlist");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			resp.sendRedirect("studentselectlist");
		}
	}

}
package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;
import com.wangxing.student.dao.impl.StudentDaoImpl;
import com.wangxing.student.service.StudentService;
import com.wangxing.student.service.impl.StudentServiceImpl;
/**
 * 处理根据id查询的servlet
 * @author Administrator
 *
 */
public class StudentSelectByIdServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		int stuid = Integer.parseInt(req.getParameter("stuid"));
		StudentService studentService = new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());
		try {
			StudentBean student = studentService.selectStudentById(stuid);
			req.setAttribute("student", student);
			req.getRequestDispatcher("update").forward(req, resp);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}
package com.wangxing.student.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;
import com.wangxing.student.dao.impl.StudentDaoImpl;
import com.wangxing.student.service.StudentService;
import com.wangxing.student.service.impl.StudentServiceImpl;

public class StudentSelectListServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		StudentService studentService = new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());
		try {
			List<StudentBean> studentlist = studentService.selectStudent();
			req.setAttribute("studentlist", studentlist);
			req.getRequestDispatcher("main").forward(req, resp);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;
import com.wangxing.student.dao.impl.StudentDaoImpl;
import com.wangxing.student.service.StudentService;
import com.wangxing.student.service.impl.StudentServiceImpl;
/**
 * 处理修改操作的servlet
 * @author Administrator
 *
 */
public class StudentUpdateServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		int stuid = Integer.parseInt(req.getParameter("stuid"));
		String stuname = req.getParameter("username");
		String stupass = req.getParameter("password");
		int stuage = Integer.parseInt(req.getParameter("stuage"));
		String stuaddress = req.getParameter("stuaddress");
		StudentBean student = new StudentBean();
		student.setStuid(stuid);
		student.setStuname(stuname);
		student.setStupass(stupass);
		student.setStuage(stuage);
		student.setStuaddress(stuaddress);
		StudentService studentService = new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());
		try {
			studentService.updateStudent(student);
			resp.sendRedirect("studentselectlist");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			resp.sendRedirect("studentselectlist");
		}
	}

}

      9.创建页面Servlet

package com.wangxing.student.ui;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AddServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		PrintWriter out = resp.getWriter();
		out.println("<!DOCTYPE html>                                                                 ");
		out.println("<html>                                                                          ");
		out.println("	<head>                                                                       ");
		out.println("		<meta charset=\"utf-8\">                                                   ");
		out.println("		<title>新建用户信息</title>                                              ");
		out.println("	</head>                                                                      ");
		out.println("	<body>                                                                       ");
		out.println("		<center>                                                                 ");
		out.println("			<form action=\"studentinsert\" method=\"post\">                          ");
		out.println("				<table border=\"1px\">                                             ");
		out.println("					<tr align=\"center\">                                          ");
		out.println("						<td colspan=\"2\"><h1>新建用户信息</h1></td>               ");
		out.println("					</tr>                                                        ");
		out.println("					<tr align=\"center\">                                          ");
		out.println("						<td>学生姓名:</td>                                       ");
		out.println("						<td><input type=\"text\" name=\"username\" /></td>           ");
		out.println("					</tr>                                                        ");
		out.println("					<tr align=\"center\">                                          ");
		out.println("						<td>登录密码:</td>                                       ");
		out.println("						<td><input type=\"password\" name=\"password\"/></td>        ");
		out.println("					</tr>                                                        ");
		out.println("					<tr align=\"center\">                                          ");
		out.println("						<td>学生年龄</td>                                        ");
		out.println("						<td><input type=\"text\" name=\"stuage\" /></td>             ");
		out.println("					</tr>                                                        ");
		out.println("					<tr align=\"center\">                                          ");
		out.println("						<td>学生地址</td>                                        ");
		out.println("						<td><input type=\"text\" name=\"stuaddress\" /></td>         ");
		out.println("					</tr>                                                        ");
		out.println("					<tr align=\"center\">                                          ");
		out.println("						<td colspan=\"2\"><input type=\"submit\" value=\"新建\" /></td>");
		out.println("					</tr>                                                        ");
		out.println("				</table>                                                         ");
		out.println("			</form>                                                              ");
		out.println("		</center>                                                                ");
		out.println("	</body>                                                                      ");
		out.println("</html>                                                                         ");
		out.close();
	}                                                                                                
}
package com.wangxing.student.ui;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

public class MainServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		PrintWriter out = resp.getWriter();
		out.println("<!DOCTYPE html>");
		out.println("<html>");
		out.println("<head>");
		out.println("<mate charset=\"UTF-8\">");
		out.println("<title>学生信息</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<center>");
		out.println("<table border=\"1px\" width=\"500px\">");
		out.println("<tr align=\"left\">");
		out.println("<td colspan=\"7\"><h1><a href=\"add\">新建</a></h1></td>");
		out.println("</tr>");
		out.println("<tr align=\"center\">");
		out.println("<td colspan=\"7\">学生信息</td>");
		out.println("</tr>");
		out.println("<tr align=\"center\">");
		out.println("<td>学生编号</td>");
		out.println("<td>学生姓名</td>");
		out.println("<td>登录密码</td>");
		out.println("<td>学生年龄</td>");
		out.println("<td>学生地址 </td>");
		out.println("<td colspan=\"2\">相关操作</td>");
		out.println("</tr>");
		List<StudentBean> studentlist = (List<StudentBean>)req.getAttribute("studentlist");
		if(studentlist.size()==0){
			out.println("<tr align=\"center\">");
			out.println("<td colspan=\"7\">没有记录</td>");
			out.println("</tr>");
		}else{
			for(StudentBean student:studentlist){
				out.println("<tr align=\"center\">");
				out.println("<td>"+student.getStuid()+"</td>");
				out.println("<td>"+student.getStuname()+"</td>");
				out.println("<td>"+student.getStupass()+"</td>");
				out.println("<td>"+student.getStuage()+"</td>");
				out.println("<td>"+student.getStuaddress()+"</td>");
				out.println("<td><a href=\"studentselectbyid?stuid="+student.getStuid()+"\">修改</a></td>");
				out.println("<td><a href=\"studentdelete?stuid="+student.getStuid()+"\">删除</a></td>");
				out.println("</tr>");
			}
		}
		out.println("</table>");
		out.println("</center>");
		out.println("</body>");
		out.println("</html>");
		out.close();
	}

}
package com.wangxing.student.ui;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

public class UpdateServlet extends HttpServlet{

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

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		StudentBean student = (StudentBean)req.getAttribute("student");
		PrintWriter out = resp.getWriter();
		out.println("<!DOCTYPE html> ");
		out.println("<html> ");
		out.println("	<head>                                                                                             ");
		out.println("		<meta charset=\"utf-8\">                                                                         ");
		out.println("		<title>修改用户信息</title>                                                                    ");
		out.println("	</head>                                                                                            ");
		out.println("	<body>                                                                                             ");
		out.println("		<center>                                                                                       ");
		out.println("			<form action=\"studentupdate\" method=\"post\">                                                ");
		out.println("				<input type=\"hidden\" name=\"stuid\" value="+student.getStuid()+" />                        ");
		out.println("				<table border=\"1px\">                                                                   ");
		out.println("					<tr align=\"center\">                                                                ");
		out.println("						<td colspan=\"2\"><h1>修改用户信息</h1></td>                                     ");
		out.println("					</tr>                                                                              ");
		out.println("					<tr align=\"center\">                                                                ");
		out.println("						<td>学生姓名:</td>                                                             ");
		out.println("						<td><input type=\"text\" name=\"username\" value="+student.getStuname()+" /></td>     ");
		out.println("					</tr>                                                                              ");
		out.println("					<tr align=\"center\">                                                                ");
		out.println("						<td>登录密码:</td>                                                             ");
		out.println("						<td><input type=\"password\" name=\"password\" value="+student.getStupass()+" /></td> ");
		out.println("					</tr>                                                                              ");
		out.println("					<tr align=\"center\">                                                                ");
		out.println("						<td>学生年龄</td>                                                              ");
		out.println("						<td><input type=\"text\" name=\"stuage\" value="+student.getStuage()+" /></td>        ");
		out.println("					</tr>                                                                              ");
		out.println("					<tr align=\"center\">                                                                ");
		out.println("						<td>学生地址</td>                                                              ");
		out.println("						<td><input type=\"text\" name=\"stuaddress\" value="+student.getStuaddress()+" /></td>");
		out.println("					</tr>                                                                              ");
		out.println("					<tr align=\"center\">                                                                ");
		out.println("						<td colspan=\"2\"><input type=\"submit\" value=\"修改\" /></td>                      ");
		out.println("					</tr>                                                                              ");
		out.println("				</table>                                                                               ");
		out.println("			</form>                                                                                    ");
		out.println("		</center>                                                                                      ");
		out.println("	</body>                                                                                            ");
		out.println("</html>                                                                                               ");
		out.close();
	}

}

10.创建字符过滤器

package com.wangxing.filter;


import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

public class CharacterRequest extends HttpServletRequestWrapper{
	private HttpServletRequest request;
	private String encoding = "utf-8";
	public CharacterRequest(HttpServletRequest request,String encoding) {
		super(request);
		this.request = request;
		this.encoding = encoding;
	}

	@Override
	public String getParameter(String name) {
		String value = request.getParameter(name);
		if(value == null){
			return null;
		}
	//得到请求的提交方式
		String method = request.getMethod();
		if("get".equalsIgnoreCase(method)){
			try {
				//tomcat8以后默认编码格式是utf-8;7之前的都是iso8859-1;
				value = new String(value.getBytes(this.encoding),this.encoding);
			} catch (UnsupportedEncodingException e) {
				throw new RuntimeException(e);
			}
		}
		return value;
	}

}
package com.wangxing.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CharEncoderFilter implements Filter{
	private String myencode = "utf-8";
	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		System.out.println("初始化字符过滤器");
		myencode = filterConfig.getInitParameter("myencoding");
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		HttpServletRequest httpreq = (HttpServletRequest) request;
		HttpServletResponse httpresp = (HttpServletResponse) response;
		//设置请求和响应的字符编码
		httpreq.setCharacterEncoding(this.myencode);
		httpresp.setCharacterEncoding(this.myencode);
		//解决post请求的中文乱码
		httpresp.setContentType("text/html;charset="+this.myencode);
		//解决get请求的中文乱码--需要重写getParameter(arg0);
		CharacterRequest charReq = new CharacterRequest(httpreq,this.myencode);
		chain.doFilter(charReq, httpresp);
	}

	@Override
	public void destroy() {
		System.out.println("字符过滤器被销毁");
		
	}

}

11.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<!-- 中文编码过滤器 -->
  <filter>
  	<filter-name>charencod</filter-name>
  	<filter-class>com.wangxing.filter.CharEncoderFilter</filter-class>
  	<init-param>
  		<param-name>myencoding</param-name>
  		<param-value>utf-8</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>charencod</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <!-- 删除操作的后台程序 -->
  <servlet>
  	<servlet-name>deleteservlet</servlet-name>
  	<servlet-class>com.wangxing.student.servlet.StudentDeleteServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>deleteservlet</servlet-name>
  	<url-pattern>/studentdelete</url-pattern>
  </servlet-mapping>
  
  <!-- 添加操作的后台程序 -->
  <servlet>
  	<servlet-name>insertservlet</servlet-name>
  	<servlet-class>com.wangxing.student.servlet.StudentInsertServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>insertservlet</servlet-name>
  	<url-pattern>/studentinsert</url-pattern>
  </servlet-mapping>
  
  <!-- 根据id查询操作的后台程序 -->
  <servlet>
  	<servlet-name>selectbyid</servlet-name>
  	<servlet-class>com.wangxing.student.servlet.StudentSelectByIdServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>selectbyid</servlet-name>
  	<url-pattern>/studentselectbyid</url-pattern>
  </servlet-mapping>
  
  <!-- 查询所有操作的后台程序 -->
  <servlet>
  	<servlet-name>selectservlet</servlet-name>
  	<servlet-class>com.wangxing.student.servlet.StudentSelectListServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>selectservlet</servlet-name>
  	<url-pattern>/studentselectlist</url-pattern>
  </servlet-mapping>
  
  <!-- 修改操作的后台程序 -->
  <servlet>
  	<servlet-name>updateservlet</servlet-name>
  	<servlet-class>com.wangxing.student.servlet.StudentUpdateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>updateservlet</servlet-name>
  	<url-pattern>/studentupdate</url-pattern>
  </servlet-mapping>
  
  <!-- 新建页面ui -->
  <servlet>
  	<servlet-name>add</servlet-name>
  	<servlet-class>com.wangxing.student.ui.AddServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>add</servlet-name>
  	<url-pattern>/add</url-pattern>
  </servlet-mapping>
  
  <!-- 主页面ui -->
  <servlet>
  	<servlet-name>main</servlet-name>
  	<servlet-class>com.wangxing.student.ui.MainServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>main</servlet-name>
  	<url-pattern>/main</url-pattern>
  </servlet-mapping>
  
  <!-- 修改页面ui -->
  <servlet>
  	<servlet-name>update</servlet-name>
  	<servlet-class>com.wangxing.student.ui.UpdateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>update</servlet-name>
  	<url-pattern>/update</url-pattern>
  </servlet-mapping>
</web-app>

12.测试http://127.0.0.1:8080/student/studentselectlist

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值