在完成创建java类后,在login中写入代码

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String msg ="Hello World"+"\n"+"你好,世界";
        PrintWriter out =resp.getWriter();
        out.println(msg);          
        out.close();              //out用完要关闭,避免资源浪费
    }

运行
在这里插入图片描述
"Hello Word"正常显示,"你好,世界"变成了乱码,这是因为我们在服务器发送的是中文,网页上显示却不知道是中文,就像大象不知道蚂蚁是怎么交流的那样,这时候我们就要添加html的格式上去

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String msg="Hello World"+"<br>"+"你好,世界";
        resp.setCharacterEncoding("utf-8");                    //发送用utf-8发送
        StringBuilder stringBuilder=new StringBuilder();
        stringBuilder.append("<html>");
        stringBuilder.append("<header>");
        stringBuilder.append("<title>Text</title>");
        stringBuilder.append("<meta charset='UTF-8'>");       //显示用utf-8显示
        stringBuilder.append("</header>");
        stringBuilder.append("<body>");
        stringBuilder.append(msg);
        stringBuilder.append("</body>");
        stringBuilder.append("</html>");

        PrintWriter out =resp.getWriter();
        out.println(stringBuilder.toString());
        out.close();
    }

在这里插入图片描述
这样子看就没有乱码了,接下来加上按钮和控件实现用户登录的界面

 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.setCharacterEncoding("utf-8");
        StringBuilder stringBuilder=new StringBuilder();
        stringBuilder.append("<html>");
        stringBuilder.append("<header>");
        stringBuilder.append("<title>Text</title>");
        stringBuilder.append("<meta charset='UTF-8'>");
        stringBuilder.append("</header>");
        stringBuilder.append("<body>");
        stringBuilder.append("<form action='' method='post'>");
        stringBuilder.append("登录名称:<input type='text' name='LoginName' value=''><br>");
        stringBuilder.append("登录密码:<input type='password' name='LoginPwd' value=''><br>");
        stringBuilder.append("<input type='submit' name='submit' value='登录'>");
        stringBuilder.append("<input type='reset' name='reset' value='取消'>");
        stringBuilder.append("</body>");
        stringBuilder.append("</html>");

        PrintWriter out =resp.getWriter();
        out.println(stringBuilder.toString());
        out.close();
    }

在这里插入图片描述
完整代码效果如下

package controller;

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.PrintWriter;

public class login extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        StringBuilder stringBuilder=new StringBuilder();
        stringBuilder.append("<form action='' method='post'>");
        stringBuilder.append("登录名称:<input type='text' name='LoginName' value=''><br>");
        stringBuilder.append("登录密码:<input type='password' name='LoginPwd' value=''><br>");
        stringBuilder.append("<input type='submit' name='submit' value='登录'>");
        stringBuilder.append("<input type='reset' name='reset' value='取消'>");
        showmsg(resp,stringBuilder.toString());
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        req.setCharacterEncoding("utf-8");
        String LoginName=req.getParameter("LoginName");
        String LoginPwd=req.getParameter("LoginPwd");
        String msg="";
        msg=(("admin").equals(LoginName)&&("123456").equals(LoginPwd)?("欢迎!"+LoginName):("用户名或密码错误"));
        showmsg(resp,msg);
    }
    private void showmsg(HttpServletResponse resp,String msg){
        resp.setCharacterEncoding("utf-8");
        StringBuilder stringBuilder=new StringBuilder();
        stringBuilder.append("<html>");
        stringBuilder.append("<header>");
        stringBuilder.append("<title>Text</title>");
        stringBuilder.append("<meta charset='UTF-8'>");
        stringBuilder.append("</header>");
        stringBuilder.append("<body>");
        stringBuilder.append(msg);
        stringBuilder.append("</body>");
        stringBuilder.append("</html>");

        PrintWriter out = null;
        try {
            out = resp.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        out.println(stringBuilder.toString());
        out.close();
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐