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>");
}