- 创建jsp project
window->preference->java->installed jre
server->runtime->environment->add
file->new->other->web->dynamic->target runtime - 创建页面并运行
jsp=html+java
web content->new tsp->index.jsp->ctrl+s
右击run as server8.5->next
servers右击重启or关闭
charset pageencoding charset utf-8 - java代码写在<% %>里面
<% !int cnt=0;%>全局变量 定义表达式
<%= %>输出表达式
out.printIn(" ")客户端(网页)输出
system.out.printIn()控制台输出 - 字体大小 preference->general->appearance->colors and fonts->text fonts
command+shift+c 注释 - http协议
客户端request网址给服务器
服务器response页面给客户端 - 在chrome里查看数据包
F12 network
请求方式:get和post
get在URL里传递参数?username=kk&password=123456
post在url里看不出,通过表单提交给jsp页面 - jsp内置对象:request和response
request.getParameter()
out.print写在哪在哪输出
out.writer写在页面的最前面
当输出对象为空时print输出null,writer报错 - 请求转发
request.getRequstDispatcher("login.jsp").forward(request,response)
服务器页面之间数据传递
request.setAttribute("key",123456)
request.getAttribute("key")
每次访问都会创建一个新的request对象 - 中文乱码问题
在register_do的代码,因为是在这里存进数据库的
new String(sex.getBytes("ISO-8859-1"),"utf-8") - 一次会话请求:客户端打开一个网页到关闭的整个过程
不同的浏览器建立不同的session
长时间不访问session也会销毁
session用来保存登录信息,下次会覆盖
session.getAttribute session.setAttribute - jsp的内置对象:request response out session application(级别最高,整个服务器端只有一个,为所有服务器提供服务,eg统计在线人数,tomcat启动时创建,关闭时销毁)
(如果返回值为空不能进行强制类型转换) - servlet放在src的package里面,本质是java类,处理逻辑的,jsp用来展示
路径名@webservlet("/demo_do") 默认get
在WebContent->WEB-INF->lib里通过web.xml配置servlet路径
<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>com.edu.servlet.register_do</servlet-class>
</servlet>
--------------------
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/register_do</url-pattern>
</servlet-mapping>
-
重定向
response.sendRedirect("login.jsp")