Java教程

JAVA WEB学习随笔

本文主要是介绍JAVA WEB学习随笔,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JAVA WEB

一.创建第一个web项目

1.创建第一个maven文件

使用idea软件 创建一个Maven 文件

2.在maven中加入servlet依赖

1)双击打开pom.xml

2)加入servlet依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>
    <!--jsp的依赖(jsp相关的jar加进来)-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.2.1</version>
      <scope>provided</scope>
    </dependency>

3)重载文件(不然不会下载)

右键 pom.xml文件----->选择maven----->选择Reload project

二.servlet 的使用

1.request 和 response

request--请求(浏览器发给服务器)\我们可以通过请求获取到用户的信息来进行相应的处理

response--响应(服务器返回给浏览器)\通过对数据的处理而对浏览器作出的响应

1)获取request 和 response

首先让我的类继承 HttpServlet 然后 通过重写方法来获取

public class request extends HttpServlet { //引用servlet
    @Override   //重写方法
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
    }
}

2模拟获取用户登录的数据

1)写一个简单的登录页面

<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="" method="post"> 
        用户名<input name="Username" type="text" > <br>
        密 码<input name="Password" type="password" ><br>
        <input type="submit" value="登录">

    </form>
</body>
</html>

2)通过request获取 到用户提交的表单数据

通过request.getParameter("表单name")来进行获取

注:getParameter的参数要保持和表单中的name一致才能够获取到

String Username = request.getParameter("Username");
String Password = request.getParameter("Password");

3)在用户登录后输出欢迎某某

我们通过response.getWriter();来向用户输出文本

                Writer writer = response.getWriter();
                writer.write("欢迎"+Username+"的访问,您的密码为"+Password);

这样我们一个简单的测试就完成了

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.Writer;

public class request extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                String Username = request.getParameter("Username");
                String Password = request.getParameter("Password");

                Writer writer = response.getWriter();
                writer.write("欢迎"+Username+"的访问,您的密码为"+Password);
    }
}

4)调用写的方法

通过使用@WebServlet(urlPatterns = "Url")注解的方式来运行我们的代码

Url 指的是拦截的地址 加入此处填写的是 pass ,那么服务器就会拦截关于url为pass的请求来运行我们的代码

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;
import java.io.Writer;

@WebServlet(urlPatterns = "/request") //添加注解拦截

public class request extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                String Username = request.getParameter("Username");
                String Password = request.getParameter("Password");

                Writer writer = response.getWriter();
                writer.write("欢迎"+Username+"的访问,您的密码为"+Password);
    }
}

当我们这些处理完成后 还需要在提交表单的 action="" 中添加Url

<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="127.0.0.1:8080/request" method="post"> 
        用户名<input name="Username" type="text" > <br>
        密 码<input name="Password" type="password" ><br>
        <input type="submit" value="登录">

    </form>
</body>
</html>

下面开始测试

用户名 :zhangsan 密码:123456

当我们按登录按钮时,用户的表单数据就会被提交到 127.0.0.1:8080/request

因为我们的方法是拦截 request 所以表单的数据就在被拦截的类中进行处理 然后返回给用户的浏览器中

成功获取到 但是中文会出现乱码的情况 所以我们要整改一下

5)解决乱码问题

只需要在类中添加以下代码 就可以解决乱码问题

  		response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("UTF-8");
        response.setHeader("content-type","text/html;charset=UTF-8"); 

//整改后
@WebServlet(urlPatterns = "/request")
public class request extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                response.setCharacterEncoding("utf-8");
                request.setCharacterEncoding("UTF-8");
                response.setHeader("content-type","text/html;charset=UTF-8");
                String Username = request.getParameter("Username");
                String Password = request.getParameter("Password");

                Writer writer = response.getWriter();
                writer.write("欢迎"+Username+"的访问,您的密码为"+Password);
    }
}

重启服务器再次测试一遍 发现解决完成

这篇关于JAVA WEB学习随笔的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!