Web_代码

1

在HTML页面中建立名为myform的表单,其中有个名为username的文本框,userpass的密码框,再建立一个提交按钮,当点击提交按钮时请编写一个JavaScript函数judge(),判断该文本框、密码框中数据是否符合如下要求:(10分)
(1)由a到z、A到Z的字母和数字组成,不能含有其他字符。
(2)长度6-20位。
(3)返回布尔类型。
如果符合要求则提交到下一页(jsp或Servlet名都行),如果不符合要求则提示修改。 收起全文

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="" id="myform" name="myform" method="post">
<input type="text" name="username" id="username"><br />
<input type="password" name="userpass" id="userpass">
<button onclick="return judge()">提交</button>
<script type="text/javascript">
function judge() {
var username = myform.username.value;
var userpass = myform.userpass.value;
var temp = /[0-9a-zA-Z]{6,20}/;
if (!temp.test(username)) {
alert("账号错误!");
}
if (!temp.test(userpass)) {
alert("密码错误!");
}
if (temp.test(username) && temp.test(userpass)) {
return true;
} else {
return false;
}
}
</script>
</form>
</body>
</html>

2

根据图示,完成如下要求(一共4个文件):
1.完成登陆页内容的编写,要求输入用户名、密码,提交到Servlet;
2.完成Servlet的编写,接收用户名、密码,并判断:
用户名和密码为:aaa/aaa,设置访问a目录(模块)所有页面的权限,并跳转到导航页;
用户名和密码为:bbb/bbb,设置访问b目录(模块)所有页面的权限,并跳转到导航页;
如果用户名、密码不符,则跳转到登陆页;
3.完成过滤器1和过滤器2的实现,判断当用户访问a目录(模块)或b目录(模块)中文件时是否具有权限,如果有则放过,如果没有则跳转回导航页。

FilterA:
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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter("/filterA/*")
public class FilterA implements Filter {
public FilterA() {
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
String flag = (String) req.getSession().getAttribute("a");
if (flag == null || !flag.equals("ok")) {
request.setAttribute("error", "无权访问a路径");
request.getRequestDispatcher("/login.jsp").forward(request, response);
} else {
chain.doFilter(request, response);
}
}
public void init(FilterConfig fConfig) throws ServletException {
}
}

FilterB:

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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter("/filterB/*")
public class FilterB implements Filter {
public FilterB() {
}
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
String flag = (String) req.getSession().getAttribute("b");
if (flag == null || !flag.equals("ok")) {
request.setAttribute("error", "无权访问b路径");
request.getRequestDispatcher("/login.jsp").forward(request, response);
} else {
chain.doFilter(request, response);
}
}
public void init(FilterConfig fConfig) throws ServletException {
}
}

login:

<%@ contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">  
</head>
<body>
<div>用户登陆</div>
<form action="MyServlet" method="post">
user:<input type="text" name="name" />
<br />
pass:<input type="password" name="pass" />
<br />
<input type="submit" value="提交" />
</form>
<div>${error}</div>
</body>
</html>

Servlet:

import javax.servlet.ServletConfig;
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("/Servlet")
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getSession().invalidate();
String name = request.getParameter("name");
String pass = request.getParameter("pass");
String result = "密码或用户名错误";
String page = "login.jsp";
if (name == null || pass == null) {
request.setAttribute("error", result);
} else if (name.equals("aaa") && pass.equals("aaa")) {
request.setAttribute("name", name);
request.getSession().setAttribute("login", "成功");
request.getSession().setAttribute("a", "成功");
page = "dir.jsp";
} else if (name.equals("bbb") && pass.equals("bbb")) {
request.setAttribute("name", name);
request.getSession().setAttribute("login", "成功");
request.getSession().setAttribute("b", "成功");
page = "dir.jsp";
} else {
request.setAttribute("error", result);
}
request.getRequestDispatcher(page).forward(request, response);
}
}
发布了27 篇原创文章 · 获赞 4 · 访问量 1354

猜你喜欢

转载自blog.csdn.net/weixin_45639955/article/details/103863183