Jsp — 内置对象request、response 配置servlet
1. 访问动态网页
使用URL实现页面访问:
URL:统一资源定位符,即常说的网址;
URL是唯一能识别Internet上具体的计算机、目录或文件夹的命名约定;
组成:第一部分:协议
第二部分:主机的IP地址,主机或端口号,是每台计算机的唯一标识;
第三部分:项目资源的地址,如目录和文件夹名等。
2. Jsp文件中的注释
① 在jsp中写java脚本使用<% %>来括起来
② 在jsp中如果要输出一个表达式使用<%= %>
③ 在jsp中如果要定义一个方法使用<%! %>
④ 在jsp中如果只注释html标签则使用<!-- -->注释,如果要注释java脚本之类的所有代码,则使用jsp注释<%-- %>
3. Jsp内置对象 — request、response
request主要是用来在页面间传值的。
//获取请求数据之前,必须先写上,不管有没有中文,以防乱码
request.setCharacterEncoding("utf-8");
//获取用户名
String userName=request.getParameter("userName");
//获取密码
String passWord=request.getParameter("passWord");
//获取性别
String sex=request.getParameter("sex");
//获取爱好
String hobby[]=request.getParameterValues("hobby");
3.1 java跳转页面有两种方式:
重定向:发送一次新的请求,地址栏会改变。
response.sendRedirect();
//在地址栏手动传值来获取值,但这种方法不适合用来传值,在不需要传值时使用。
response.sendRedirect("page/welcome.jsp?userName="+userName+"&passWord="+passWord);
转发:不会发生新的请求,直接将原来的请求转发到最终页,地址栏不会改变。
request.getRequestDispatcher();
//转发,用来传值。
request.getRequestDispatcher("welcome.jsp").forward(request, response);
【转发和重定向的区别】
1) 重定向:不需要传值时使用。发生在客户端,地址栏会变化(因为重新发起了请求,原来的请求参数不会带过去)。
2)转发:需要传值时使用。发生在服务器端,地址栏不会变化,原来的请求参数会议并带过去。
4. 在web.xml里配置servlet
1)配置如下:
<!-- 配置欢迎启动页 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 配置servlet -->
<servlet>
<servlet-name>logincheck</servlet-name> <!-- 这里的名字可以随便起,但最好是自己能看得懂的 -->
<servlet-class>com.jredu.servlet.LoginCheck</servlet-class> <!-- 是LoginCheck.java的包路径 -->
<load-on-startup>1</load-on-startup><!-- 当服务器启动的时候立马初始化servlet,参数必须是一个数字1,数字代表优先级 -->
</servlet>
<servlet-mapping>
<servlet-name>logincheck</servlet-name> <!-- 和上面的名字一样的 -->
<url-pattern>/loginCheck</url-pattern> <!-- /随便起名字,但跳转的是上面的包路径 -->
</servlet-mapping>
2)servlet的生命周期 三个方法:
init():servlet初始化
service():servlet正在服务
distory():servlet被销毁了
3)当需要传/取值时,如果需要传的不是单个值或者一个数组,当需要传一个列表时,通过request.setAtribute()来传值,再通过request.getAtribute()来取值。