当我们用html写了一个页面,有时候我们还想再页面的基础上加上很多功能,直接在html上写代码可能会比较麻烦或者不易实现,我们将html与java结合起来,使在html中可以用到java的代码。
首先我们在java中新建一个web工程,名为web1。我们需要用到的html文件放在webcontent文件下,java文件放在src下面。我们先在webcontent新建一个html文件,写一个页面。文件名为login.html
class="html" name="code">
<html>
<head>
<title>登陆界面</title>
<style type="text/css">
h1 {color:red}
</style>
</head>
<h1 align=center color=yellow>欢迎来到登陆界面</h1>
<body >
<div align=center>
<form action="">
<img src="Koala.jpg" alt="动物"/>
<br/>
<label for=pass>用户名:</label>
<input type="text" name="passname" id="pass"/>
<br/>
<label for=pass1>密码:</label>
<input type="password" name="passpwd" id="pass1"/>
<br/>
<input type="submit" value="登陆" />
<br/>
<br/>
<br/>
<select name="fruit">
<option value="apple">apple</option>
<option value="banana">banana</option>
</select>
</form>
</div>
</body>
</html>
接着我们在新建的web工程下原有的web.xml文件中定义和配置servlet映射,当然在此之前不要忘了在Servers中add一下web工程。
在web.xml中配置servlet代码如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>web1</display-name>
<welcome-file-list>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>loginweb</servlet-name>
<servlet-class>loginweb.loginweb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginweb</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
我们现在开始在src下写一个名为loginweb.java的java文件
package loginweb;
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 loginweb extends HttpServlet{
protected void doGet(HttpServletRequest req,
HttpServletResponse resp)throws ServletException,
java.io.IOException{
// 获取输出流
PrintWriter out=resp.getWriter();
out.println("<h1>hello world!</h1>");
out.flush();
out.close();
}
protected void doPost(HttpServletRequest req,
HttpServletResponse resp)throws ServletException,
java.io.IOException{
//获取输入流
String passname=req.getParameter("passname");
String passpwd=req.getParameter("passpwd");
//对输出流进行编码
resp.setCharacterEncoding("gb2312");
PrintWriter out=resp.getWriter();
// 在java中写html文件
out.write("<html><head>");
if("admin".equals(passname)&&"111".equals(passpwd)){
System.out.println("登陆成功");
// 登陆成功后暂停5秒并且跳转到百度页面
out.write("<meta http-equiv='Refresh' " +
"content='5;url=http://www.baidu.com'/>");
}else{
// 登陆失败后暂停五秒跳回登陆界面
out.write("<meta http-equiv='Refresh' " +
"content='5;url=login.html'/>");
}
out.write("</head><body>");
if("admin".equals(passname)&&"111".equals(passpwd)){
System.out.println("登陆成功");
out.write("<p>登陆成功,五秒钟后跳转到" +
"<a href='www.baidu.com'>主页</a></p>");
}else{
out.write("<p>登陆失败,五秒钟后跳转到" +
"<a href='login'>登陆界面</a></p>");
}
out.write("</body></html>");
out.flush();
out.close();
}
}
最后在登陆界面的login.html代码中改一下form表单属性如下
<form method="Post" action="login">
现在奇迹要发生了,在你的浏览器中输入http://127.0.0.1:8080/web1/看看会发生什么事情吧!