注:此博客为学习笔记,没有任何参考价值
目录
Javaweb技术背景
Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术:HTML、CSS。动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web。
第一次 tomcat
安装Tomcat并启动
第二次 eclipse配置tomcat
eclpse配置Tomcat
第三次 web项目servlet初步
新建web项目file-new-Dynamic Web Project
新建servlet,右击chapter03-new-servlet 命名
next-next不勾第一个框框 -finish
部署和访问Servlet,reemove进入wed应用界面
第四次 web实现交互
doget与dopost实现 收到doget请求
第五次 servlet使用方法
乱码问题解决方法:
(1)response.setContentType("text/html;charset=utf-8");
(2)response.setCharacterEncoding("utf-8");
response.setHeader("Content-Type"text/html;charset=utf-8");
实现请求重定向
在HttpServletResponse接口中,定义sendRedirect()方法用于生成302响应码和Location响应头,从而通知客户端重新访问Location响应头中指定的URL,sendRedirect()方法语法:public class sendRedirect(java.long.String location) throws java.io.IOException
第六次 Servlet
浏览器访问网站首界面——到网站首界面indexServlet——判断用户是否登录-是时显示登录用户的信息点击“退出”-用户退出登录界面logoutServlet回到网站首界面IndexServlet—如果否就进入登录界面login.html——处理用户登录信息LoginServlet——判断用户名与密码是否正确-否就提示错误——是就到显示登录用户信息到“退出”
1.创建封装用户信息类
建包cn.itcast.chapter05.session.example02,编写user有username与password两个属性以及getter和setter方法
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUername(String username) {
this.username=username;
}
public String getPassword() {
return password;
}
public void getPassword(String password) {
this.password=password;
}
第七次 JSP技术
Jsp技术
jsp运行原理:客户端请求jsp容器——里面jsp文件转换Servlet文件(java),在编译class文件(class)后面执行Servlet实例——后面再响应到客户端
jsp基本语法:1.jsp Scriptlets局部变量分配内存空间,调用结束后,释放局部变量占有的内存空间
<% java代码(变量,方法,表达式等)%>
2.jsp声明语句:<%! 变量或方法 %>
<%!
int a=1;
int b=2;
%>
<%!
public String dashuju(){
String str="dashuju2004";
return str;
}
%>
jsp指令:page指令<%@ page 属性.....%> import,language,session,contentType,isErrorPage,errorPage,pageEnCoding等等
include指令:<%@ include file="被包含的文件地址"%>
jsp隐式对象:out,request,response,config,session,application,page,pageContext,exception
out对象:写入数据相当于将数据插入到JspWriter对象的缓冲区,只能调用ServletResponse.getWriter()方法
<%
out.println("first line");
%>
<br/>
<%
response.getWriter().print("second line <br/>");
%>
pageContext对象:
pageContext.PAGE_SCOPE:表示页面范围
pageContext.REQUEST_SCOPE:表示请求范围
pageContext.SESSION_SCOPE:表示会话范围
pageContext.APPLICATION_SCOPE:表示Web应用程序范围
第八次 javabean
JavaBean作用是封装数据。 书写JavaBean需要满足五个规范:
1.这个java类,被public修饰
2.这个java类要提供公共的无参数的构造方法
3.要提供私有的属性
4.要给私有的属性提供公共的set或者get方法
5.要实现Serializable接口
访问JavaBean的属性:
类的成员变量和属性的一个关系:
在普通的java类里面,成员变量可以说成就是属性。
在JavaBean里面,成员变量和属性就有了区别。
在JavaBean 里面成员变量 比如:private String id; 那么id就是成员变量
在JavaBean 里面属性就是get或者set后面的字段名称(字段名称的首字母小写),就是属性。
BeanUtils 工具
BeanUtils 工具是由apache软件基金会提供的一套封装数据到JavaBean的工具类,使用简单方便,
BeanUtils是第三方的工具(插件),所以需要导入jar包。
常用的api:
1.向javaBean的属性设置值:
setProperty(javaBean对象,javaBean的属性,javaBean属性的值);
2.获取javaBean属性的值:
getProperty(javaBean对象,javaBean的属性);
3.向javaBean的属性设置值:
populate(javaBean对象,map对象);
EL表达式
第九次 el表达式
EL表达式中的标识符
在el书写过程中,会用一些符号来标记变量、函数名等,这些符号称之为标识符。
书写规范:
1.不能以数字开头
2.不能包含el中的关键字:and , or 等
3.不能使用el表达式的隐式对象。
4.不能包含特殊符号,比如正斜杠等
1.3 EL中的变量
基本格式:${域对象的名称},这个域对象的名称可以理解为就是el中的变量,
那这个变量就不需要定义了,可以直接使用。
1.4 EL 中的常量
1.布尔常量:true或false
2.数字常量:整型、浮点常量,使用方式和java差不多
3.字符串常量:使用方式和java差不多,比如:${"el的字符串常量"}
4.Null常量:${null}
1.5 EL中的运算符
1.点运算符:获取域对象中属性的值。
比如: ${person.name }
2.方括号运算符:在域对象里,有的属性包含特殊字符,所以用方括号的方式来获取值
比如:<%
Map<String,String> map= new HashMap<String,String>();
map.put("my-name","map的值");
request.setAttribute("user",map);
%>
${user["my-name"] }
3.算术运算符:+ — * /
4.比较运算符: > < >= <= == !=
5.逻辑运算符: &&(and) ||(or) !(not)
6.empty 运算符:用来判断域对象中的值是否存在,不存在返回为true,否则返回的结果是false.
7.三目运算符:参照java的用法。
1.6 EL 隐式对象
1.pageContext对象:为了获取j