web_application
1.
@PersistenceContext
private EntityManager entityManager;
private EntityManager entityManager;
@PersistenceContext是jpa专有的注解,而@Autowired是spring自带的注释
EntityManager不是线程安全的,当多个请求进来的时候,spring会创建多个线程,@PersistenceContext就是用来为每个线程创建一个EntityManager的,而@Autowired只创建了一个,为所有线程共用,有可能报错
2.Java Web:Servlet/JSP ,动态web资源开发的技术称为JavaWeb;
一个Web应用由多少部分组成(静态Web和动态Web);
html,css,js,jsp,servlet,java小程序,jar包,配置文件(Properties);
静态web存在的缺点:Web页面无法动态更新,所有用户看到的都是同一个页面;用JavaScript;且无法和数据库交互,数据无法持久化;
3.Web服务器
php,开发速度很快,功能很强大,跨平台,代码简单,无法承载大访问量;
JSP/Servlet:基于java;
Tomcat:
server.xml:配置启动名称,配置端口号 默认端口号为8080 ,mysql:3306,http:80;https:443
localhost == 127.0.0.1;默认网站存放位置为webapps
// 网站是如何进行访问的?
4.Http 超文本传输协议
6.Servlet:
编写一个类实现Servlet接口;把开发好的类部署到web服务器中
编写Servlet的映射:为什么需要映射,我们写的java程序,需要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Serlet,需要给他一个浏览器可以访问的路径
<!-- 注册servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.wentest.httpServlet</servlet-class>
</servlet>
<!-- 设置servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
<!-- 指定固有映射路径优先级最高,如果找不到就会走默认的处理请求-->
<servlet>
<servlet-name>error</servlet-name>
<servlet-class>com.wentest.httpServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>error</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
servletContext对象和应用:context,上下文;
web容器启动的时候,它为每个web程序都创建一个对应的ServletContext对象,代表了当前的web应用;
可以共享数据:在这个servlet保存的数据,可以在另外一个servlet中拿到;