请求Servlet 与 Servlet对请求参数的接收——访问Servlet的方式介绍(二)

一:超链接访问

二:window.location.href访问

1.伪连接

2.事件

代码如下:

service代码

TestService.java

package com.fs.test;
public interface TestService {
public boolean login(String uesrname,String pwd);

}

TestServiceInf.java

package com.fs.test;

public class TestServiceInf implements TestService{
@Override
public boolean login(String username, String pwd) {
/*如果username和pwd正确返回true,否则返回false*/
if("wgr".equals(username) && "123".equals(pwd)){
return true;
}
return false;
}
}

servlet代码

TestServlet.java

package com.fs.test1;
import java.io.IOException;
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 com.fs.test.TestService;
import com.fs.test.TestServiceInf;

@WebServlet("/test.do")
public class TestServlet extends HttpServlet {
private TestService testService = new TestServiceInf();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//http://localhost:8080/web15_visitorServletWithParm3/test.do?username=wgr&pwd=123
//接收请求参数  username, pwd
String username = req.getParameter("username").trim();
String pwd = req.getParameter("pwd").trim();
//登陆
boolean flag = testService.login(username, pwd);
if(flag == true) {//登陆成功
//转发到main.jsp
req.getRequestDispatcher("/main.jsp").forward(req, resp);
}else {//登陆失败
//转发到error.jsp
req.getRequestDispatcher("/login.jsp").forward(req, resp);
}
}

}

jsp代码

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function login() {
window.location.href="test.do?username=wgr&pwd=123";
//var username = document.getElementById("username").value;
//var pwd = document.getElementById("pwd").value;
//window.location.href="test.do?username="+username+"&pwd="+pwd;
}
</script>
</head>
<body>
<h1>
<a href="test.do?username=wgr&&pwd=123">超链接登陆</a>
</h1>
<h1>
<a href="javascript:login();">伪连接登陆</a>
</h1>
<h1>
<button onclick="login();">事件登陆</button>
</h1>
<form action="test.do" method="post">
username:<input type="text" name="username" id="username"></br>
password:<input type="text" name="pwd" id="pwd"></br> <input
type="submit" value="登陆" />
</form>
</body>
</html>

main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1 align="center">登录成功</h1>
</body>

</html>

运行结果图:

请求Servlet 与 Servlet对请求参数的接收——访问Servlet的方式介绍(二)