使用web.xml文件设置网页首页
我们在新建一个web项目的时候点击Next
一直点击Next直到看到该界面大家直接勾选Generate web.xml deployment descriptor ,创建一个web.xml文件
在该项目的目录下方会出现web.xml文件
双击web.xml文件,点击下方的Source。
点击Source 如图所示
大家看到下方的这一些代码,会发现该下方有一个index.jsp文件,而我们在项目中创建了该jsp文件,当我们去浏览器中运行网页时,网址后面没有加上jsp文件名,那么会自动跳转到index.jsp文件中。
原理:他从一个一直找下去,找到第三个找到了index.jsp文件那么就会打开该文件
修改web.xml文件,让我们去浏览器中运行网页时,网址后面没有加上jsp文件名,那么会自动跳转到login.jsp(登录界面中)文件中。
修改web.xml文件注意事项:
当我们修改了web.xml的代码一定要重新启动服务器
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>JavaWeb13</display-name>
<welcome-file-list>
<!-- 这里的意识是,当我们网址没有携带jsp文件名,他会先从下方这几个文件先找,看那个文件存在,就打开该文件 -->
<!-- 我们想要当网址没有携带jsp文件名时,跳到login界面,只需要先把下方这六条数据删除,流下数据,把里面的值改成登录界面jsp文件的名字-->
<!-- 当我们修改了web.xml的代码一定要重新启动服务器 -->
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
常用jsp标签(自带)
常用的jsp标签有一下几种:
1.<jsp:include page="页面"> 包含
2.<jsp:param name="name" value="va"> 传参
3.<jsp:foward page="页面"> 转发 4.<jsp:useBean>相当于实例化类
5.<jsp:setProperty>给useBean属性设置值
6.<jsp:getProperty>取值
1.<jsp:include page="页面"> 包含
包含:包含page="页面"该页面中的东西
index.jsp代码如下,让他拥有index1.jsp中的东西:<jsp:include page="index1.jsp">
2.<jsp:param name="name" value="va"> 传参
<jsp:param name="" value=""/>
后面加/是简写了 <jsp:param name="type" value="1"></jsp:param>这样子的代码
name 是你传过去的参数名字叫什么 value 传过去的参数值是多少
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>欢迎来到首页</h2>
<!--常用jsp标签(自带)-->
<!-- jsp标签使用注视为 <%-- --%> -->
<%--<jsp:include page="页面"> 包含--%>
<!-- 在该page中输入页面的名字,就可以拿到页面中的东西-->
<!-- type :
值为1 热销产品
值为2 折扣产品
值为3 人气产品 -->
<%--<jsp:param name="" value=""/>
后面加/是简写了 <jsp:param name="type" value="1"></jsp:param>这样子的代码
name 是你传过去的参数名字叫什么 value 传过去的参数值是多少
--%>
<jsp:include page="index1.jsp">
<jsp:param name="type" value="1"/>
</jsp:include>
<jsp:include page="index1.jsp">
<jsp:param name="type" value="2"/>
</jsp:include>
<jsp:include page="index1.jsp">
<jsp:param name="type" value="3"/>
</jsp:include>
</body>
</html>
index1.jsp代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
h1{
border:10px solid red;
height: 200px;
}
</style>
</head>
<body>
<!-- 接收参数 -->
<%
String name=request.getParameter("type");
//判断传过来的参数值为多少 给定义的变量赋值
String str="";
if("1".equals(name)){
str="热销产品";
}
if("2".equals(name)){
str="折扣产品";
}
if("3".equals(name)){
str="人气产品";
}
%>
<h1><%=str%></h1>
</body>
</html>
3.<jsp:foward page="页面"> 转发
<jsp:foward page="index.jsp"/>
4.<jsp:useBean>相当于实例化类
<jsp:useBean id="" beanName="" type="" class="" scope="">
id: 对象名 *
class:类 创建对象时,完全限定名(包名+类名)
type:类型 调用对象时 * (可以用抽象父类或者接口)
scope:作用域 (page * request session application)
5.<jsp:setProperty>给useBean属性设置值
<jsp:setProperty name="" property="" value="">
name:useBean 的id
property:属性名(要注意必须跟实体类中的属性名保持一致)
value:属性值
6.<jsp:getProperty>取值
4--6的代码如下:
<%@page import="com.yjx.pojo.user"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
user u=new user();
u.setName("");
u.getName();
%>
<%-- <jsp:useBean>相当于实例化类--%>
<%-- 这串代码其实相当于 user u=new user() --%>
<jsp:useBean id="user" class="com.yjx.pojo.user"></jsp:useBean>
<%--<jsp:setProperty> 给useBean属性设置值--%>
<%--这里相当于u.setName()--%>
<%-- name:useBean 的id
property:属性名(要注意必须跟实体类中的属性名保持一致)
value:属性值
param:从登录界面传来的值,例如用户名密码,(放置标签上面的name)
这样子相当于把name赋值给我们拿到的数据
--%>
<jsp:setProperty property="name" name="user" param="username"></jsp:setProperty>
<jsp:setProperty property="pwd" name="user" param="userpwd"></jsp:setProperty>
<%-- <jsp:getProperty>取值
这里相当于u.getName()
--%>
<jsp:getProperty property="name" name="user"/>
<%
out.print(user);
%>