Java Web项目创建并实现前后端交互
作者:苏禾呀
一:使用工具
Eclipse
版本如下:
注:不同版本的eclipse创建的项目基础目录可能会有所不同。
二:创建Java Web项目
1. File --> New --> Dynamic Web Project
2. 输入项目名称 --> 配置Tomcat --> Next --> Next -->勾选Generate Web.xml deployment descriptor --> Finish
到这里一个基础的JavaWeb项目就已经创建好啦。
创建完成后是这样的:
接下来就需要我们去填充它来实现一些基本的功能。
三:编写代码
1.用HTML编写一个简单的前端界面
首先在WebContent目录下新建一个html文件(注意是在WebContent目录下,而不是在META-INF或WEB-INF目录下)。
创建好之后是这样的:
先写一个最简单的登录界面:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录</title> </head> <body> 账号:<input type="text"><br><br> 密码:<input type="text"><br><br> <input type="button" value="登录"> </body> </html>
之后我们还需要在web.xml中<welcome-file-list>的下面新增一行代码来让浏览器读取这个html文件。
<welcome-file>login.html</welcome-file>
然后我们来测试一下。
测试方法:
项目总文件右键 --> Run As --> Run On server
现在就出来了下面的样子。
为了测试方便,我们可以修改页面显示的地方。
这里可以随意修改,可以使用1 系统浏览器,也可以选择3 Chrome。
修改之后一定要记得重新启动Eclipse。
2.用Java编写后端
同上,我们还是得建一个Servlet文件,先在Java Resources里的src包里新建一个包,然后在包里再新建Servlet文件。
先建包是为了给后端的代码分类,方便后期管理。
3.前后端实现交互
前端代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录</title> <script src="/JavaWeb/resource/js/jquery.js"></script> <script> $(function(){ $(".btn").on("click",function(){ //获取账号密码 var username = $(".username").val() var password = $(".password").val() //发起请求 $.ajax({ url:"/JavaWeb/LoginServlet", //请求地址 type:"get", //请求方式 data:{ //发送数据 username:username, password:password }, success:function(data){ //请求成功的回调函数 alert(data.username + "的密码为" + data.password) }, error:function(data){ //请求失败的回调函数 alert("错误了!") } }) }) }) </script> </head> <body> 账号:<input type="text" class="username" ><br><br> 密码:<input type="text" class="password"><br><br> <input type="button" value="登录" class="btn"> </body> </html>
在写前端代码的时候我们用到了jQuery,所以我们需要把它加进来,放在这里。
js源码可自行百度。
后端代码:
package com.Mango; 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; /** * Servlet implementation class LoginServlet */ @WebServlet("/LoginServlet") //引号内的为前端引用时的名称,可任意修改 public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public LoginServlet() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置前端传过来的数据字符编码 request.setCharacterEncoding("utf-8"); //设置后端传给前端响应数据的字符编码 response.setCharacterEncoding("utf-8"); response.setContentType("text/json;charset=utf-8"); //接收前端传过来的数据 String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("前端传过来的账号:"+username); System.out.println("前端传过来的密码:"+password); //后端给前端相应json字符串 String json = "{\"username\":\"" + username + "\",\"password\":\"" + password + "\"}"; response.getWriter().write(json); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
这样的话一个简单的Java Web项目就建好啦。
到此这篇关于Java Web项目创建并实现前后端交互的文章就介绍到这了,更多相关Java Web前后端交互内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!