//告诉request才用如下的字符集进行组合
req.setCharacterEncoding(“UTF-8”);
//_设置服务器向浏览器发送响应信息的字符集
_resp.setCharacterEncoding(“UTF-8”);
这两条语句很重要,不加上很可能出现乱码问题
返回操作代码:**
<script type="text/javascript">
window.onload=function () {
var inputElement=document.getElementById("back");
inputElement.onclick=function () {
window.history.back();
}
}
</script>
package controller;
import service.AtmService;
import util.MySpring;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class LoginController extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String username=req.getParameter("username");
String password= req.getParameter("password");
AtmService atmService= MySpring.getJavaBean("service.AtmService");
String result=atmService.login(username,password);
System.out.println(result);
//设置服务器向浏览器发送响应信息的字符集
resp.setCharacterEncoding("UTF-8");
PrintWriter out= resp.getWriter();
out.write("<html>");
out.write("<head>");
out.write("<meta charset=\"UTF-8\"");
out.write("</head>");
out.write("<body>");
if("登陆成功".equals(result)){
out.write("欢迎"+username+"进入ATM系统<br>");
out.write("请输入操作选项<br>");
out.write("<a href=\"query?username="+username+"\">查询</a><br>");
out.write("<a href=\"query?username="+username+"\">存款</a><br>");
out.write("<a href=\"query?username="+username+"\">取款</a><br>");
out.write("<a href=\"query?username="+username+"\">转账</a><br>");
}else{
out.write(result);
}
out.write("</body>");
out.write("</html>");
out.flush();
}
}
package controller;
import service.AtmService;
import util.MySpring;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class QueryController extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String username=req.getParameter("username");
AtmService atmService=MySpring.getJavaBean("service.AtmService");
Float balance=atmService.inquire(username);
resp.setCharacterEncoding("UTF-8");
PrintWriter out= resp.getWriter();
out.write("<html>");
out.write("<head>");
out.write("<meta charset=\"UTF-8\">");
out.write("<script type=\"text/javascript\">" +
" window.onload=function () {" +
" var inputElement=document.getElementById(\"back\");" +
" inputElement.onclick=function () {" +
" window.history.back();" +
" }" +
" }" +
" </script>");
out.write("</head>");
out.write("<body>");
out.write("用户"+username+"您的余额为"+balance+"元<br>");
out.write("<input id=\"back\" type=\"button\" value=\"返回\">");
out.write("</body>");
out.write("</html>");
out.flush();
}
}
package dao;
import domain.Atm;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class AtmDao {
private String url="jdbc:mysql://localhost:3306/atm";
private String className="com.mysql.jdbc.Driver";
private String password="cy414ljh212,,,";
public Atm selectOne(String username){
Atm atm=null;
try {
Class.forName(className);
Connection connection=DriverManager.getConnection(url,"root",password);
String sql="SELECT USERNAME,PASSWORD,BALANCE FROM ATM WHERE USERNAME = ?";
PreparedStatement preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,username);
ResultSet resultSet=preparedStatement.executeQuery();
if(resultSet.next()){
atm=new Atm();
atm.setUsername(resultSet.getString("username"));
atm.setPassword(resultSet.getString("password"));
atm.setBalance(resultSet.getFloat("balance"));
}
resultSet.close();
preparedStatement.close();
}catch (Exception e){
e.printStackTrace();
}
return atm;
}
}
package domain;
public class Atm {
private String username;
private String password;
private Float balance;
public Atm(String username, String password, Float balance) {
this.username = username;
this.password = password;
this.balance = balance;
}
public Atm() {
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public Float getBalance() {
return balance;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setBalance(Float balance) {
this.balance = balance;
}
}
package service;
import dao.AtmDao;
import domain.Atm;
import util.MySpring;
public class AtmService {
private AtmDao atmDao= MySpring.getJavaBean("dao.AtmDao");
public String login(String username,String password){
String result="用户名或密码错误";
Atm atm=atmDao.selectOne(username);
if(atm!=null&&atm.getPassword().equals(password)){
result="登陆成功";
}
return result;
}
public Float inquire(String username){
return atmDao.selectOne(username).getBalance();
}
}
package util;
import java.util.HashMap;
public class MySpring {
private static HashMap<String,Object> beanMap=new HashMap<>();
public static <T>T getJavaBean(String className){
T obj=(T) beanMap.get(className);
if(obj==null){
try {
Class clazz=Class.forName(className);
obj=(T) clazz.newInstance();
beanMap.put(className,obj);
}catch (Exception e){
e.printStackTrace();
}
}
return obj;
}
}
<?xml version="1.0" encoding="GBK"?>
<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">
<!-- 登录-->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>controller.LoginController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<!-- 查询-->
<servlet>
<servlet-name>query</servlet-name>
<servlet-class>controller.QueryController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>query</servlet-name>
<url-pattern>/query</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="login" method="post">
<p>
账号:<input type="text" name="username" value="请输入用户名" style="color: #999;"
onfocus="if(this.value =='请输入用户名'){this.value=''}">
</p>
<p>
密码:<input type="password" name="password">
</p>
<input type="submit" value="登录">
</form>
</body>
</html>