html

有序列表 ol li
无需列表 ul
<body>
    计算机科学与工程学院<ul>
        <li>计算机科学与工程</li>
        <li>计算机网络技术</li>
    </ul>


    河南特产<ol>
        <li>新郑大枣</li>
        <li>灵宝肉夹馍</li>
    </ol>


xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!--欢迎界面 当服务器启动加载后,会找该项目设定的首次访问的web资源
        一般情况下,我们都设定的是web页面,充当欢迎界面
        对于tomcat服务器的默认设定的欢迎界面是以index开头的web页面-->

    <welcome-file-list>
        <!--把注册页面设定为该项目的欢迎界面
        web.xml文件内容,一旦更新修改,是一定要重新启动服务器的
        当你新建一个Servlet类的时候,也是需要重新启动服务器的
        如果在欢迎界面标记中填写的欢迎页面文件不存在,
        那么客户端会抛出404异常 请求资源找不到一般都是路径不匹配
        在欢迎列表中我们可以配置多个欢迎界面
        那么程序会首先加载第一个配置的欢迎界面,如果第一个欢迎界面找不到
        程序会加载第二个欢迎界面依此类推
        如果在欢迎列表中,所有的欢迎界面都不存在那么程序就会抛出404异常

        -->
        <welcome-file>/login.html</welcome-file>
        <!--<welcome-file>/register.html</welcome-file>-->
    </welcome-file-list>


    <!--配置register 请求资源路径映射
    在<servlet-name>标记中,标记文本信息是任意的,最好见名之意
    通过url资源路径去映射提供服务的Servlet类 类名的全路径:包名+类名-->
    <servlet>
        <servlet-name>register</servlet-name>
        <servlet-class>com.zhiyou100.RegisterServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>register</servlet-name>
        <url-pattern>/register</url-pattern>
    </servlet-mapping>




</web-app>



java
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
/*
        需求:
            用户登录功能:
            1.如果用户名和密码正确我们就跳转到成功界面success.html
            2.如果用户名和密码不正确我们就跳转到失败界面 fail.html

     */
    HttpServletRequest request=(HttpServletRequest)servletRequest;
    HttpServletResponse response=(HttpServletResponse)servletResponse;
    //设置编码字符集
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    response.setCharacterEncoding("UTF-8");

    //接收参数信息
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    //校验用户信息 用户名为admin 密码为123456
    //避免空指针现象  == 相等判断 只判断内存地址值  equals()比较两次,先比较内存地址(如果相等直接返回true)如果不相等再比较内容值
    if("admin".equals(username) && "123546".equals(password)){
//内部转发 是由请求发起的 请求资源路径 请求的是成功界面
        //语法格式:request.getRequestDispatcher("/跳转资源路径").forward(request,response);


        request.getRequestDispatcher("/success.html").forward(request,response);
        //重定向
        //response.sendRedirect("/success.html");
    }else{
//内部转发 是由请求发起的 请求资源路径 请求的是失败界面
        request.getRequestDispatcher("/fail.html").forward(request,response);
    }
}
//Servlet类
/*@WebServlet("/register")//资源路径映射*/
public class RegisterServlet implements Servlet {
@Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//提供用户注册服务 http(http请求-http响应)
        //由客户端向后端的服务器发起,有时会携带请求参数
        //响应:由后台服务器端向客户端浏览器发起的,有时也会携带响应数据
        //
        HttpServletRequest  request = (HttpServletRequest)servletRequest;
        HttpServletResponse response = (HttpServletResponse)servletResponse;
        //设置编码字符集 防止中文乱码 ISO-8859-1拉丁文  GB2312简体--->GBK国标所有中国  UTF-8万国  Unicode
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html char=UTF-8");
        response.setCharacterEncoding("UTF-8");
        //接收客户端传输的参数值request.getParameter("name属性值/参数名称");
        String username = request.getParameter("username");//用户名
        String phone = request.getParameter("phone");//手机号
        String email = request.getParameter("email");//email
        String password = request.getParameter("password");//密码
        //回传数据 把后端数据传输到前端浏览器页面
        //h1--->h6 大标题--->小标题  动态的构画页面
        response.getWriter().write("<h1>Servlet架构很厉害</h1>");
        response.getWriter().write("用户名:"+username+"<br>"+
"手机号:"+phone+"<br>"+
"邮箱:"+email+"<br>"+
"密码:"+password+"<br>");
    }