手机扫码查看
登录失败页面、欢迎页、管理员页面、查询页面、文本框页面请自行编写
静态登陆含验证码
login.html
<form action="/day14/login" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
验证码<input type="text" name="vc"><img src="/day14/vcode" alt=""><br>
<input type="submit" value="登录">
</form>
codeServlet
@WebServlet(name = “codeServlet”,value = “/vcode”)
ValidateCode code=new ValidateCode(220,50,4,0);
String code1 = code.getCode();
HttpSession session = request.getSession();
session.setAttribute("code",code);
code.write(response.getOutputStream());
loginServlet
@WebServlet(name = “loginServlet”,value = “/login”)
request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=utf-8”);
HttpSession session = request.getSession();
String username = request.getParameter(“username”);
String password = request.getParameter(“password”);
String vc = request.getParameter(“vc”);
ValidateCode code = (ValidateCode) session.getAttribute(“code”);
String code1 = code.getCode();
if (username == null || username.trim().length() == 0) {
response.getWriter().println(“用户名不能为空”);
return;
}
if (password == null || password.trim().length() == 0) {
response.getWriter().println(“密码不能为空”);
return;
}
if (vc == null || vc.trim().length() == 0) {
response.getWriter().println(“验证码不能为空”);
return;
}
if(“admin”.equals(username)&&”admin888″.equals(password)&&code1.equalsIgnoreCase(vc)){
session.setAttribute(“username”,username);
Cookie cookie=new Cookie(“userinfo”,username+”#”+password);
cookie.setPath(“/”);
cookie.setMaxAge(60*60*24*7);
response.addCookie(cookie);
response.sendRedirect(“/day14/welcome.html”);
}else{
response.sendRedirect(“/day14/bad.html”);
}
===============================
动态登录以及权限管理
需要写util工具类、entity实体类、DAO、Service以及实现类
DAO实现类
public class UserDaoImpl implements UserDao {
private QueryRunner queryRunner=new QueryRunner(DruidUtils.getDataSource());
@Override
public User checkUser(User user) {
try {
return queryRunner.query("select*from users where username=? and password=?",
new BeanHandler<User>(User.class),user.getUsername(),user.getPassword());
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
loginFilter2
@WebFilter(filterName = "loginFilter2",value = "/login.html")
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws ServletException, IOException {
HttpServletRequest request=(HttpServletRequest)req;
HttpServletResponse response=(HttpServletResponse)resp;
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if (user != null) {
response.sendRedirect("/day14/welcome.html");
}else{
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
String name = cookie.getName();
if(name.equals("userinfo")){
String value = cookie.getValue();
String[] split = value.split("#");
UserService userService=new UserServicesImpl();
User user1 = userService.checkUser(split[0], split[1]);
if (user1 != null) {
if (user1.getAccess() == 1) {
response.sendRedirect("/day14/admin.html");
}else{
response.sendRedirect("/day14/getall.html");
}
}else{
response.sendRedirect("/day14/bad.html");
}
}
}
}
}
chain.doFilter(req, resp);
}
loginServlet2
@WebServlet(name = "loginServlet2",value = "/login2")
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf8");
HttpSession session = request.getSession();
String username = request.getParameter("username");
String password = request.getParameter("password");
String vc = request.getParameter("vc");
ValidateCode code = (ValidateCode) session.getAttribute("code");
if (username == null || username.trim().length() == 0) {
response.getWriter().println("用户名不能为空");
return;
}
if (password == null || password.trim().length() == 0) {
response.getWriter().println("密码不能为空");
return;
}
if (vc == null || vc.trim().length() == 0) {
response.getWriter().println("验证码不能为空");
return;
}
UserService userService=new UserServicesImpl();
User user = userService.checkUser(username, password);
if (user != null) {
session.setAttribute("user",user);
Cookie cookie=new Cookie("userinfo",username+"#"+password);
cookie.setPath("/");
cookie.setMaxAge(60*60*24*7);
response.addCookie(cookie);
if (user.getAccess() == 1) {
response.sendRedirect("/day14/admin.html");
}else{
response.sendRedirect("/day14/getall.html");
}
}else{
response.sendRedirect("/day14/bad.html");
}
}
=================================
过滤脏词
index.html
<form action="/day14/filters" method="post">
用户名:<input type="text" name="username"><br>
昵称:<input type="text" name="niname"><br>
爱称:<input type="text" name="lovename"><br>
<input type="submit" value="提交">
</form>
fServlet
@WebServlet(name = "fServlet",value = "/filters")
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf8");
String username = request.getParameter("username");
String niname = request.getParameter("niname");
String lovename = request.getParameter("lovename");
System.out.println("提交的数据为");
System.out.println(username+"\n"+niname+"\n"+lovename);
}
fFilter
@WebFilter(filterName = "fFilter",value = "/filters")
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws ServletException, IOException {
HttpServletRequest request=(HttpServletRequest)req;
chain.doFilter(new Drtity(request), resp);
}
static class Drtity extends HttpServletRequestWrapper {
List<String> list=new ArrayList<String>();
public Drtity(ServletRequest request) {
super((HttpServletRequest) request);
list.add("王八蛋");
list.add("admin");
list.add("sb");
}
@Override
public String getParameter(String name) {
String value = super.getParameter(name);
for (String s : list) {
if(value.equals(s)){
value="***";
}
}
return value;
}
}
- 本页地址 https://www.9713job.com/?p=1329
- 上一篇 <<舒大少的个人日记20200523
- 下一篇 >>Javaweb教程:文件上传和文件下载



发表回复